您的位置:首页 > 其它

drawRect方法的参数详解

2016-07-14 16:38 281 查看
创建自定义视图,在继承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通常与框架矩形相同,但是在视图旋转的时候,框架矩形将改变大小和位置,而边界则保持不变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  视图自定义 CGRect