浏览时看了下,继承UITextField,重写父类方法,来达到自定义UITextField的文章,其中看到罗列的代码中的CGRectInset的方法,有些疑惑,没怎么见过,搜索一番进行学习。
首先,放官方API文档。
浏览的一些其他相关文章:
CGRectInset、CGRectOffset、等对比整理
也有些朋友的文章会总结一些规律:
CGRectInset(CGRect rect, CGFloat dx, CGFloat dy),三个参数。rect:待操作的CGRect;dx:为正数时,向右平移dx,宽度缩小2dx。为负数时,向左平移dx,宽度增大2dx;dy:为正数是,向下平移dy,高度缩小2dy。为负数是,向上平移dy,高度增大2dy。
CGRectOffset、CGRectInset 、CGRectContainsPoint浅析
该函数表示:通过后面的 dx和dy 重置第一个参数rect作为结果返回。
重置方式:1->>先把rect的坐标按dx,dy进行平移
2->> 然后把rect大小(size)宽度缩小2倍的dx 高度缩小2倍的dy
3->>如果dx dy是负的 就是放大
4->> 就是在CGRectOffset的基础上 调整 size
由此告诫自己还是要努力多读文档,当然在没有转变过来之前,可以适当进行对比来学习,也不要一味死磕官方API文档。
网友评论