IBOutlet에 hoge Height Constraint를 쓰고 싶지 않아요!
5334 단어 iOSSwiftAutoLayout
AutoLayout으로 width height 설정
IBOutlet으로 width height 연결하기
hogeWidthConstraint.constant = 100
뭘 쓰고 싶지 않아요.😭이런 상황에서 좀 더 간단한 방법.
결론
Constraint에 Identifier 추가
그리고 그렇습니다.
hogeView.constraints.filter { $0.identifier == "height" }.forEach { $0.constant = 100 }
역시 기사라면 욕을 먹을 테니 extension을 선택하세요.extension UIView {
func updateConstraint(identifier:String, value:CGFloat ) {
self.constraints.filter { $0.identifier == identifier }.forEach { $0.constant = value }
}
}
//利用側
hogeView.updateConstraint(identifier: "width",value: 100)
장점: IBOutlet은 대량으로 생성되지 않음단점: Identifier 설정을 잊은 경우
다른 해석(좀 의심스럽다)
Constraint의 NSLayoutattribute를 보았는데'hogeView를 바꾸는 위드th'처럼 보일 수도 있다.
hogeView.constraints.filter { $0.firstAttribute == .width }.forEach { $0.constant = 100 }
extension UIView {
func updateConstraint(attribute:NSLayoutAttribute, value:CGFloat) {
self.constraints.filter { $0.firstAttribute == attribute }.forEach { $0.constant = value }
}
}
//利用側
hogeView.updateConstraint(attribute: .width,value: 100)
장점: Identifier를 사용하지 않음단점:attribute는firstAttribute와secondAttribute가 있습니다
attribute에 자신이 없으면 못 쓸 것 같아.
자칫 상관없는attribute를 말아들일 수 있다는 것은 아직 자신이 없다.
아마도 attribute를 고정시키는 방법이 좋을 거예요.
스케줄러:자세한 건 시간 나면 알아볼게요.조금만 알아봐주면 스마트하지 않을까요?
감상
(이 방법은 알지만 Objective-C를 쓰면 귀찮고 싫죠. Swift를 쓰면 유창하게 쓰일 수 있어요.)
팀 개발은 받아들이는 거예요, 미묘한 거예요?
나는 이 방법을 채택하는 것을 한 번도 본 적이 없다.
더 좋은 방법 없을까?🤔
Reference
이 문제에 관하여(IBOutlet에 hoge Height Constraint를 쓰고 싶지 않아요!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/netetahito/items/c35b0fb08facb7480f42텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)