IB中的自定义UIView

时间:2011-06-25 12:59:53

标签: ios uiview interface-builder

我已经为我要在iPad屏幕上创建的界面元素创建了UIView的自定义子类。 (它创建一个按钮列表)

要使用此视图,我在IB中添加了一个视图,正确设置了大小,并将该类更新为我的子类。

当我运行我的项目时,会创建非按钮,因为 - (id)initWithFrame:(CGRect)框架永远不会被调用。

所以问题。当元素是在IB中创建的时候,我应该实现什么代表才能正确地启动我的类?

提前致谢!

2 个答案:

答案 0 :(得分:2)

覆盖initWithCoder:并调用initWithFrame:也调用的一些常用代码。第一个将从一个nib初始化,第二个将从代码初始化。

awakeFromNib也是一种选择,会在生命周期的后期发生。

答案 1 :(得分:2)

在要覆盖的方法下的UIView reference中已经详细记录了这一点。

  • 覆盖initWithCoder:以处理从NIB实例化的视图
  • 覆盖initWithFrame:以支持从代码
  • 创建视图

this SO post中提供了更多信息。这看起来与你的问题非常相似......