1

我有一个从 xib 文件加载的 UIView 子类。在我的 CustomView.h 文件中,我只是忽略了 initWithFrame: 方法中的 CGRect 参数:

- (id)initWithFrame:(CGRect)frame {
    self = [[[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil options:nil] objectAtIndex:0];
    return self;
}

现在我的问题是:每当我实例化我的自定义视图时,我应该传递的框架是什么?

例如,我试过这个:

CustomView *cv = [[CustomView alloc] initWithFrame:CGRectZero];

有人会假设因为框架是在 xib 中设置的,所以这里传递的内容无关紧要。但是,这会导致我的自定义视图对用户交互没有响应。

4

1 回答 1

-1

您可能应该改用 initWithCoder

- (id)initWithCoder:(NSCoder*)coder {
    self = [super initWithCoder:coder];
    if (self){
        // Initialization code

    }
    return self;
}
于 2012-10-29T23:00:46.633 回答