我正在尝试做一些非常基本的事情。我想在我的UIView子类中添加一个subView。我假设我会把它放在initWithFrame方法中,如下所示,但是查看这个类的实例不会绘制这个子视图。我究竟做错了什么?
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
redView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 20, 20)];
[redView setBackgroundColor:[UIColor redColor]];
[self addSubview:redView];
}
return self;
}
BTW redView是子类标题中定义的属性,如:
@property (strong, nonatomic) UIView *redView;
感谢阅读!
答案 0 :(得分:2)
您应该将初始化代码放在:
中- (id)initWithCoder:(NSCoder *)aDecoder { ... }
或
- (void)awakeFromNib { ... }
从nib加载视图时会调用这些方法。不要忘记在上述方法中调用[super ...]。