【问题标题】:Default values for custom cocoa object自定义可可对象的默认值
【发布时间】:2018-01-08 02:35:55
【问题描述】:

我在创建 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

init 只是没有被调用。

MyLabel 被称为:

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

【问题讨论】:

  • 你怎么称呼这个的?如果您通过 nib 文件使用它,则将此代码放入 awakeFromNib。
  • 查看有问题的编辑

标签: objective-c macos cocoa nstextfield


【解决方案1】:

不要使用initWithFrame。只能通过init 拨打电话。

试试下面的代码

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

您可以在初始化后设置框架,如下所示

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多