我正在尝试做一些非常基本的事情。我想将一个子视图添加到我的UIView子类中。我假设我将把它放在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;
谢谢阅读!
最佳答案
您应该将初始化代码放入:
- (id)initWithCoder:(NSCoder *)aDecoder { ... }
要么
- (void)awakeFromNib { ... }
从笔尖加载视图时将调用这些方法。不要忘记在上述方法中调用[super ...]。