首页 > 技术文章 > Swift 中 insetBy(dx: CGFloat, dy: CGFloat) -> CGRect 用法详解

ZhangShengjie 2017-05-02 16:20 原文

insetBy(dx: CGFloat, dy: CGFloat) -> CGRect

 点击头文件进去 可以发现它是返回的一个CGRect 

insetBy方法是CGRect 的一个方法

dx后面的参数代表X轴的偏移  正数是向X轴正方向移动(即像右移动) 负数是向X轴负方向移动(即像左移动)

dy后面的参数代表Y轴的偏移  正数是向Y轴正方向移动(即像下移动) 负数是向Y轴负方向移动(即像上移动)

注意:这个方法并不仅仅是移动那么简单 移动之后他的宽高也会对应的调节 

返回的CGRect (X:原来frme的X +dx  ,Y:原来frme的Y +dy Width:原来frme的Width -2*dx , Height:原来frme的Height -2*dy)

比如

 var f = CGRect(x: 5, y: 20, width: 80, height: 100)
        print("原来\(f)")
        f=f.insetBy(dx: -20, dy: 10)
        print("移动后\(f)")
输出结果为
原来(5.0, 20.0, 80.0, 100.0)
移动后(-15.0, 30.0, 120.0, 80.0)

 

推荐阅读