0
我创建了一个从UILabel继承的自定义类。我将UILabel放入笔尖,并将标签的类设置为我的自定义类。但是,当调用viewDidLoad
方法时,视图是类UILabel
而不是我的自定义类。nib实例化为父类型的自定义视图
任何想法?
我创建了一个从UILabel继承的自定义类。我将UILabel放入笔尖,并将标签的类设置为我的自定义类。但是,当调用viewDidLoad
方法时,视图是类UILabel
而不是我的自定义类。nib实例化为父类型的自定义视图
任何想法?
我能够在测试项目中创建我的CustomLabel实例。我做了不同的事情,而不是拖拽UILabel,而是将CustomLabel的一个实例拖入视图。
我按照以下方式针对最新sdk的目标实现了awakeFromNib。
-(void)awakeFromNib
{
[self setText:[NSString stringWithFormat:@"%@",[self class]]];
}
- (void)drawTextInRect:(CGRect)rect // called as expected
{
NSLog(@"drawTextInRect: called");
[super drawTextInRect:rect];
}
夫妇的奥秘...... 我CustomLabel执行init和initWithFrame,既不是由加载从笔尖视图机器调用。
你在自定义类中重写了哪些init方法? – falconcreek 2010-06-11 16:43:18
我试着覆盖'drawRect'和'drawTextInRect'。然而,根本没有被调用,这导致我在视图控制器的viewDidLoad中插入一行:NSLog(@“标签类型:%@”,[self.label class]);'和响应是“标签类型:UILabel”。 – 2010-06-13 16:10:28
我认为你需要实现initWithFrame: – falconcreek 2010-06-14 18:06:02