2017-08-01 59 views
0

创建MyLabel时,我总是会设置一些参数,而不是每次都写出来,我宁愿将它们设置为自定义类的默认值。定制可可物体的默认值

我已经没有运气尝试这样做:

@interface MyLabel: NSTextField 
@end 

@implementation MyLabel 
-(id)init { 
    if (self = [super init]) { 
     [self setWantsLayer:YES]; 
     [self setSelectable:YES]; 
     [self setEditable:NO]; 
     [self setBordered:NO]; 
    } 
    return self; 
} 
@end 

初始化只是不叫。

MyLabel被称为像:

MyLabel* error_label = [[MyLabel alloc] initWithFrame: ... 
+0

你怎么叫这个?如果你通过nib文件使用这个,然后把这个代码放在awakeFromNib中。 –

+0

请参阅有问题的编辑 – maxisme

回答

1

不要使用initWithFrame。只能拨打init

试试下面的代码

MyLabel* error_label = [[MyLabel alloc] init]; 

可以初始化后设置帧像下面

[error_label setFrame::CGRectMake(0, 0, 0, 0)]; // set co-ordinates accordingly