2015-01-31 2 views
4

은이 코드를 사용하여 UIButton의 폭을 설정하려고 :Swift에서 프로그래밍 방식으로 제약 조건을 만드는 방법은 무엇입니까?

constraintButtonPlayWidth = NSLayoutConstraint(item: buttonPlay, 
     attribute: NSLayoutAttribute.Width, 
     relatedBy: NSLayoutRelation.Equal, 
     toItem: self.view, 
     attribute: NSLayoutAttribute.Width, 
     multiplier: 1, 
     constant: 100) 
self.view.addConstraint(constraintButtonPlayWidth) 

을하지만 버튼을 너무 많이 뻗어됩니다; 아마도 toItem: self.view이기 때문일 것입니다. 제약 조건의 상수를 수정하려고했지만 아무 것도 변경하지 않았습니다.

실제로이 너비가 100 인 너비를 올바르게 설정하려면 어떻게해야합니까?

constraintButtonPlayWidth = NSLayoutConstraint (item: buttonPlay, 
    attribute: NSLayoutAttribute.Width, 
    relatedBy: NSLayoutRelation.Equal, 
    toItem: nil, 
    attribute: NSLayoutAttribute.Width, 
    multiplier: 1, 
    constant: 100) 
self.view.addConstraint(constraintButtonPlayWidth) 

답변

21

당신은 가까웠다 : 귀하의 코드처럼 보이도록

+0

'로 설정해야합니다 대단히 감사합니다! 내 대답의 코드가 제대로 작동하지만 사용자의 정확성은 더 높아집니다. – Cesare

1

toItem는 전무로 설정해야합니다. 제한 조건은 다른 항목과 관련이 없기 때문에 단일 항목 만 가져야합니다.

constraintButtonPlayWidth = NSLayoutConstraint (item: buttonPlay, 
    attribute: NSLayoutAttribute.Width, 
    relatedBy: NSLayoutRelation.Equal, 
    toItem: nil, 
    attribute: NSLayoutAttribute.NotAnAttribute, 
    multiplier: 1, 
    constant: 100) 
self.view.addConstraint(constraintButtonPlayWidth) 
+1

이것은 또한 작동 할 수 있지만 두 번째 속성이 정말 NSLayoutAttribute.NotAnAttribute' – picciano

관련 문제