我正在尝试将子视图添加到主视图中。这是我的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需要做什么?
答案 0 :(得分:7)
在你的子类中,你应该使用指定的UIView初始化器:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
//Implementation code...
}
}
答案 1 :(得分:1)
好的,想通了。没有设置我的子视图的框架。