2
저는 탭바가있는 프로젝트와 각 탭에 대한 사용자 정의 탐색 막대가 있습니다. 탐색 표시 줄 UIView 각각에는 스토리 보드에 높이 제한 상수가 설정되어 있습니다.화면 높이에 따라 NSLayoutConstraint 상수를 서브 클래 싱하기
이 NSLayoutConstraint (Nav 높이)를 하위 클래스로 지정하여 iPhone X의 높이를 변경합니다. 탐색 표시 줄은 iPhone X에서 훨씬 더 커야하고 "out 상자의 "개체, 내 제약 조건을 수동으로 설정해야합니다. 기본적으로
, 나는 서브 클래스에 다음과 같은 일을 할, 그래서 불필요한 콘센트 코드의 무리를 반복 할 필요가 없습니다 : 나는 서브 클래스를 생성 한
override func viewWillLayoutSubviews() {
navBarHeightConstraint.constant = navBarHeightConstraintConstant()
}
func navBarHeightConstraintConstant() -> CGFloat {
switch(UIScreen.main.bounds.height) {
case 812: // iPhone X
return 90
default: // all others
return 64
}
}
을하지만, 돈 위의 코드를 수행하는 데 사용할 메소드를 알고 있지 않습니다.
class NavHeightFixiPhoneXConstraint: NSLayoutConstraint {
// Nothing... yet!
}
그냥 아이폰 X에 대한 특정 값을 표시하도록
가 어떻게 NSLayoutConstraint을 하위 클래스로 할 수 있습니까?
대기, 나는 그냥 "읽기 전용 속성 '상수'로 변경 가능한 속성을 재정의 할 수 없습니다"GET을 ... – Fattie
당신은 맞다) 재산은 게터있다 그리고 세터 모두에게 제공해야합니다. 나는 내 대답을 편집 할 것이다. –
오른쪽 - 나는 그 동안 그것을 이해했다! :) – Fattie