自定义控件注意事项

一般来说自定义控件继承自UIView,首先在 initWithFrame:方法中添加子控件

那么为什么是 initWithFrame:方法而不是 init 方法?
  • 因为创建的时候也有可能使用 init 方法创建,但是最后都会调用initWithFrame: 方法。
可以在 initWithFrame: 方法中设置尺寸吗?
  • 不可以。因为如果创建时候使用的是init,那么这时是没有UIView的尺寸的。要想设置子控件的的尺寸,父控件必先确定。
在哪里设置子控件的尺寸呢?
  • 在答案是 layoutSubviews 方法。view第一次将要显示的时候会调用;以后view的尺寸改变时,也会调用。

参考资料
自定义控件的方式及注意

你可能感兴趣的:(自定义控件注意事项)