在哪里设置UIView子类的子视图?

时间:2016-03-14 09:55:53

标签: ios uiview initialization uilabel drawrect

我有一个简单的UIView子类,我在其中放置一个UILabel,以便为UIView提供一个特定的框架,背景颜色和文本格式,其标签来自{{ 1}}。

我正在阅读View Programming Guide for iOS但有些事情我还没有完全理解......如果您的视图只有系统标准子视图,例如我的UIViewController,我应该覆盖{ {1}}方法?或者这仅适用于UILabel员工?如果我不应该在这种方法中设置标准子视图,那么这样做的正确位置是什么?我应该覆盖drawRect:方法吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

不,您不应该覆盖drawRect来初始化子视图,因为它会导致性能下降。这应该在init,initWithFrame或initWithCoder方法中完成。例如,这是使用initWithFrame方法

的方法
- (id)initWithFrame:(CGRect)frame {
  self = [super initWithFrame:frame];
  if (self) {
      //initialize sub views 
  }
  return self;