我有一个简单的UIView
子类,我在其中放置一个UILabel
,以便为UIView
提供一个特定的框架,背景颜色和文本格式,其标签来自{{ 1}}。
我正在阅读View Programming Guide for iOS但有些事情我还没有完全理解......如果您的视图只有系统标准子视图,例如我的UIViewController
,我应该覆盖{ {1}}方法?或者这仅适用于UILabel
员工?如果我不应该在这种方法中设置标准子视图,那么这样做的正确位置是什么?我应该覆盖drawRect:
方法吗?
提前致谢
答案 0 :(得分:2)
不,您不应该覆盖drawRect来初始化子视图,因为它会导致性能下降。这应该在init,initWithFrame或initWithCoder方法中完成。例如,这是使用initWithFrame方法
的方法- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
//initialize sub views
}
return self;