Ios 快速扩展以获取框架右侧的坐标位置
我以编程方式放置UI元素,因此我经常需要知道其他视图框边的当前位置,以便根据这些位置放置另一个UI元素,我发现自己重复此代码的次数比我希望的要多:Ios 快速扩展以获取框架右侧的坐标位置,ios,swift,cocoa-touch,uikit,Ios,Swift,Cocoa Touch,Uikit,我以编程方式放置UI元素,因此我经常需要知道其他视图框边的当前位置,以便根据这些位置放置另一个UI元素,我发现自己重复此代码的次数比我希望的要多: var mybutton = UIButton(frame: CGRectMake(10,10,20,20)) var myOtherButton = UIButton(frame: CGRectMake(mybutton.frame.origin.x + mybutton.frame.width, mybutton.frame.origin.y
var mybutton = UIButton(frame: CGRectMake(10,10,20,20))
var myOtherButton = UIButton(frame: CGRectMake(mybutton.frame.origin.x + mybutton.frame.width, mybutton.frame.origin.y + mybutton.frame.height, 20, 20))
基本上,我添加了origin
和frame.width
,我希望能提供一些关于扩展的线索,以使该值键入更少的代码。尝试如下:
extension UIButton {
var subFrame: CGRect {
return CGRectMake(frame.origin.x + frame.width, frame.origin.y + frame.height, frame.width, frame.height)
}
}
let mybutton = UIButton(frame: CGRectMake(10,10,20,20))
print(mybutton.subFrame) // {x 30 y 30 w 20 h 20}
let myOtherButton = UIButton(frame: mybutton.subFrame)