drawRect方法的参数详解


创建自定义视图,在继承UIView之后,最关键的就是重写drawRect方法了。

这里暂不介绍具体怎样重写这个方法来实现想要的效果,重点介绍drawRect方法所带的CGRect类型的参数的作用。

drawRect接受的唯一参数就是"脏矩形",脏即需要更新的意思。这个参数给定的区域是self真正需要更新的区域。

顺便再说一下框架矩形(frame)和边界矩形(bounds)的区别。它们的类型都是CGRect,区别在于,frame定义了视图的大小和位置,这个位置是相对于父视图(superView)的;bounds则是视图相对于自身的坐标空间的位置和大小,这意味着origin的值一直都是(0.0,0.0)。这样一来,似乎边界矩形的存在没有任何意义,因为frame的size和bounds的size都是等同的,而且bounds的origin永远没有变化,那么我只需要知道frame值不就行了?其实不然,尽管边界矩形的size通常与框架矩形相同,但是在视图旋转的时候,框架矩形将改变大小和位置,而边界则保持不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值