我已经为我要在iPad屏幕上创建的界面元素创建了UIView的自定义子类。 (它创建一个按钮列表)
要使用此视图,我在IB中添加了一个视图,正确设置了大小,并将该类更新为我的子类。
当我运行我的项目时,会创建非按钮,因为 - (id)initWithFrame:(CGRect)框架永远不会被调用。
所以问题。当元素是在IB中创建的时候,我应该实现什么代表才能正确地启动我的类?
提前致谢!
答案 0 :(得分:2)
覆盖initWithCoder:
并调用initWithFrame:
也调用的一些常用代码。第一个将从一个nib初始化,第二个将从代码初始化。
awakeFromNib
也是一种选择,会在生命周期的后期发生。
答案 1 :(得分:2)
在要覆盖的方法下的UIView reference中已经详细记录了这一点。
initWithCoder:
以处理从NIB实例化的视图initWithFrame:
以支持从代码this SO post中提供了更多信息。这看起来与你的问题非常相似......