2015-11-24 2 views
0

Я прокладываю элементы своего пользовательского интерфейса программным образом, поэтому мне часто нужно знать текущие позиции сторон кадра зрения, чтобы заложить другие элементы пользовательского интерфейса на основе этих позиций, я обнаружил, что повторяю это код более раз, чем я хотел бы:Быстрое расширение, чтобы получить координатное положение правой стороны кадра

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, я был бы признателен за некоторые подсказки о расширении, чтобы получить это значение, набрав меньше кода.

ответ

2

Попробуйте так:

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) 
+0

хорошая отправная точка, позвольте мне сказать спасибо. –

+0

@JuanPabloBoero добро пожаловать –

Смежные вопросы