首先确定这两个方法都是对CGRect类型的变量进行操作的,写iOS动画代码时经常用到。
1. CGRectInset
不多说,上代码:
1 | // center 为 (200, 200), 由(100+200/2, 100+200/2)得 |
结果如下:
1 | 原始矩形大小:{{100, 100}, {200, 200}} |
根据结果得知:
- 原始矩形center不变,始终是(200, 200);
- 原始矩形size变化,width = width-2dx, height = height-2dy;
图解:
官方文档:1
2/* Inset `rect' by `(dx, dy)' -- i.e., offset its origin by `(dx, dy)', and
decrease its size by `(2*dx, 2*dy)'. */
2. CGRectOffset
还是上代码:
1 | CGRect originalRect = CGRectMake(100, 100, 200, 200); |
结果如下:
1 | 原始矩形大小:{{100, 100}, {200, 200}} |
根据结果得知:
- 原始矩形size不变,始终是 (200, 200);
- 原始矩形center改变,x = x+dx, y = y+dy;
图解:
官方文档:
1 | /* Offset `rect' by `(dx, dy)'. */ |
以上若有错误或不足,欢迎指正,感谢