Re: Strange NSCell subclass issue ...

On Tue, Mar 31, 2009 at 07:37:03PM +0100, Mic Pringle wrote:
> Hi,
> I have subclassed NSCell and implemented only the following method ...
> - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
> {
> NSImage *separator = [NSImage imageNamed:@"Separator.png"];
> [separator setScalesWhenResized:YES];
> [separator setFlipped:YES];
> NSGraphicsContext *context = [NSGraphicsContext currentContext];
> [context saveGraphicsState];
> NSImageInterpolation interpolation = [context imageInterpolation];
> [context setImageInterpolation:NSImageInterpolationHigh];
> [separator setSize:NSMakeSize(cellFrame.size.width, 2.0f)];
> [separator drawInRect:NSMakeRect(cellFrame.origin.x,
> cellFrame.size.height - 10.0f, cellFrame.size.width, 2.0f)
> fromRect:NSZeroRect
> operation:NSCompositeSourceOver
> fraction:1.0f];
> [context setImageInterpolation:interpolation];
> [context restoreGraphicsState];
> }
> I have then subclassed NSTableView and set the dataCell of the first
> column to the above subclass.
> All works fine, except for the fact that the image drawn (separator)
> in the drawWithFrame method is only drawn in the very first cell. I
> have three rows displayed in the table view, and can clarify this as I
> can click on them and get the blue highlight.
> Any ideas as to why this would only draw the first cell and not all three ?

Your y coordinate is based off of the height instead o...

f the top; see


Cocoa-dev mailing list (Cocoa-dev@xxxxxxxxxxxxxxx)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)

Help/Unsubscribe/Update your Subscription:

This email sent to maillists@xxxxxxxxx