1、步骤: + 1.自定义一个类继承于UIView + 2.在initWithFrame方法中添加子控件 + 3.在layoutSubviews中设置子控件的位置 + 4.提供一个属性保存外界传入的数据(模型对象), 重写setter方法设置子控件的数据- 类工厂方法(便利构造器)...
分类:
其他好文 时间:
2015-07-14 05:56:11
阅读次数:
156
按钮
自定义按钮:调整内部子控件的frame
方式1:实现titleRectForContentRect:和imageRectForContentRect:方法,分别返回titleLabel和imageView的frame
方式2:在layoutSubviews方法中设置
内边距
// 设置按钮内容的内边距(影响到imageView和titleLabel)
@property(nonatomic)...
分类:
移动开发 时间:
2015-07-10 23:45:21
阅读次数:
173
UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用la...
分类:
移动开发 时间:
2015-07-09 13:08:40
阅读次数:
250
转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。layoutSubviews在以下情况下会被调用:1、init...
分类:
其他好文 时间:
2015-07-04 13:50:58
阅读次数:
114
layoutSubviews在以下情况下会被调用:
1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上...
分类:
其他好文 时间:
2015-07-03 09:11:25
阅读次数:
128
后面经过测试,如果button的文字长度变更,会导致图片位置变化,经过多次修改UIEdgeInsets的值也没有达到期望效果,最终采用集成UIButton类,重写layoutSubviews函数实现,特将成果记录一下,以便后续查阅123456789101112131415161718-(void)l...
分类:
移动开发 时间:
2015-06-18 17:04:51
阅读次数:
177
layoutSubviews和drawRect 首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。layoutSubviews在以下情况下会被调用:1、init初始化不会触发layoutSubviews。2、addSubview会触发layoutSu....
分类:
移动开发 时间:
2015-06-09 23:23:07
阅读次数:
162
注意三点: 1、两个方法都是异步执行的 2、使用init初始化UIView两个方法都不会调用,所以在init中最好是初始化数据,而在上述两个方法中初始化视图 3、最好使用drawRect初始化视图,layoutSubviews在继承UIScrol...
分类:
其他好文 时间:
2015-06-09 22:07:41
阅读次数:
130
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- ...
分类:
其他好文 时间:
2015-06-06 17:57:37
阅读次数:
85
ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————-- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout——————–- ...
分类:
其他好文 时间:
2015-06-05 21:01:04
阅读次数:
93