创建自定义UIView时出现问题

时间:2010-01-20 01:48:37

标签: iphone uiview custom-controls

我正在尝试创建自己的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的提法:但老实说,我不知道我在那个方法中做了什么。我确定我做的事情显然是错的,但我不知道是什么。

任何建议都将不胜感激!

感谢。

1 个答案:

答案 0 :(得分:1)

尝试使用self.bounds代替self.frame

UILabel* label = [[[UILabel alloc] initWithFrame:self.bounds] autorelease];

您的视图的框架可能不在原点{0 0},这意味着标签最终会在视图的可见区域之外。