自定义控件的内部子控件显示不正确可能的原因
- 如果是用代码创建的的button则会调用initWithFrame
- 如果使用xib创建的button则会调用awakFromNib
- 此处以代码创建为例
- 设置按钮的frame在layoutSubviews方法中
2. 实现initWithFrame
- 使用alloc init 创建的按钮会调用initWithFrame进行按钮的初始化操作
- initWithFrame方法一般用来创建子控件
- 如果希望代码只执行一次,也应该在initWithFrame中进行设置
3. 实现layoutSubviews
- 在initWithFrame中创建完子控件之后,在layoutSubviews中设置子控件的frame
- layoutSubviews必须调用父类方法来调用系统设置frame的方法
4. 注意的问题
问题描述
- 如果在layoutSubview中设置完自定义按钮的背景图片和按钮图片,却在程序运行的时候不显示背景图片和按钮图片,而且设置背景色能够正常显示
问题的解决
- 一定要检查有没有调用父类方法[super layoutSubviews];
posted @
2015-09-15 15:37
紫之灵玲
阅读(
192)
评论()
编辑
收藏
举报