2
我有一個帶有選項卡欄的項目,以及每個選項卡的自定義導航欄。每個導航欄UIViews都有一個在故事板中設置的高度約束常量。基於屏幕高度對NSLayoutConstraint常量進行子類化
我想這個NSLayoutConstraint(導航高度)的子類,以便它改變iPhone X的高度。導航欄需要更高的iPhone X,因爲我不使用「出框的「對象,我的約束需要手動設置。
從本質上講,我希望做這樣的事情在子類下面,所以我不必重複一串代碼,讓不必要的網點:
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!
}
我怎麼能繼承NSLayoutConstraint,以便它顯示的只是iPhone X特定的值?
的等待,我只是得到「無法只讀屬性‘常量’重寫可變屬性」 ...... – Fattie
你是對的;)的酒店吸氣和二傳手,所以你需要提供兩者。我會編輯我的答案。 –
對 - 我在此期間想到了它! :) – Fattie