尝试添加子视图时,不会调用drawRect

时间:2010-11-28 05:06:42

标签: iphone objective-c ios uiview drawrect

我正在尝试将子视图添加到主视图中。这是我的viewController中的相关代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    MyUIViewSubclass* myView = [[MyUIViewSubclass alloc] init]; 
    [self.view addSubview:myView]; // self.view is a simple UIView
    [myView setNeedsDisplay];
}

myView中的drawRect不会被调用。

但是,如果我使用MyUIViewSubclass作为viewController的主视图(在Interface Builder中设置它),则会调用drawRect。

在subView中调用drawRect需要做什么?

2 个答案:

答案 0 :(得分:7)

在你的子类中,你应该使用指定的UIView初始化器:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) 
    {
       //Implementation code...
    }
}

答案 1 :(得分:1)

好的,想通了。没有设置我的子视图的框架。