Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Subclassed control in IB uses original cell class




On Nov 28, 2007, at 12:48 PM, David Hoerl wrote:

I found a neat double knobbed slider on the web: http://developer.snowmintcs.com/controls/smdoubleslider/

There is only a IB2 palette, so I figured I'd just add a NSSlider object to my NIB, change its class to SMDoubleClass, then do anything further in awakeFromNib.

The problem is that the control ends up with a NSSliderCell and not a SMDoubleSliderCell - guess +cellClass does not get invoked for archived objects.

At first, I could not subclass the cell as a nib2.x file does not support it. However, the IB3 docs say I can use the nib3.x file on Tiger (for building only, not editing). So, I changed formats, changed the cell class, and now all is working as expected.

I was wondering though - suppose I had to stay with IB2 - how would I get the correct class of cell?


Do something like this (which you probably want to do anyways, if you create an instance of SMDoubleClass in code):


+ (void)initialize
{
    if (self == [SMDoubleClass class]) {
        [self setCellClass:[SMDoubleSliderCell class]];
    }
}

Also, I'd recommend a better classname: SMDoubleSlider is more descriptive :)

corbin
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden
References: 
 >Subclassed control in IB uses original cell class (From: David Hoerl <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.