我正在尝试创建自己的UIView子类。我通过拖出UIView,然后在Class Identity字段中指定我的子类名称,将它放在Interface Builder中。然而我的UIView并没有画出自己。
这里 - 在一个简化的例子中 - 是我的UIView子类中的代码:
- (id)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super initWithCoder:aDecoder])
{
UILabel* label = [[[UILabel alloc] initWithFrame:self.frame] autorelease];
label.text = @"Hello.";
label.textColor = [UIColor whiteColor];
[self addSubview:label];
}
return self;
}
我已经看到了覆盖drawRect的提法:但老实说,我不知道我在那个方法中做了什么。我确定我做的事情显然是错的,但我不知道是什么。
任何建议都将不胜感激!
感谢。
答案 0 :(得分:1)
尝试使用self.bounds
代替self.frame
:
UILabel* label = [[[UILabel alloc] initWithFrame:self.bounds] autorelease];
您的视图的框架可能不在原点{0 0},这意味着标签最终会在视图的可见区域之外。