I have an NSTableView in my application with data being drawn in for both the X and Y axes (ie, every row is matched with every column.) I’ve got the data populating the cells the way I’d like, but it looks terrible with the columns stretched out horizontally.
I would like to turn the NSTextFieldCell on its side, so that the text is written vertically instead of horizontally. I realize that I’m probably going to have to subclass the NSTextFieldCell, but I’m not sure which functions I’m going to need to override in order to accomplish what I want to do.
What functions in NSTextFieldCell draw the text itself? Is there any built-in way to draw text vertically instead of horizontally?
Well, it took a lot of digging to figure this one out, but I eventually came across the NSAffineTransform object, which apparently can be used to shift the entire coordinate system with respect to the application. Once I had figured that out, I subclassed NSTextViewCell and overrode the -drawInteriorWithFrame:inView: function to rotate the coordinate system around before drawing the text.
I now have an NSTextCell that draws its contents sideways! By changing the row height, I can give it enough room to look good.