2017-09-29 93 views
0

我正在爲swift編寫一個項目iPad。 已經在故事板的導航欄標題視圖中放置了圖像視圖。 標題視圖按預期顯示在iOS 10及以下。 同樣的項目,當我運行在iOS 11模擬器和物理設備導航欄不顯示標題視圖,任何線索將不勝感激。導航欄標題視圖在iOS11中缺失

+0

任何關於如何做到這一點的代碼將不勝感激。 – Siyavash

+0

沒有代碼添加標題視圖,這是從Storyboard添加 –

+0

[iOS 11 Navigation TitleView錯位]的可能的重複(https://stackoverflow.com/questions/46578752/ios-11-navigation-titleview-misplaced) – Dania

回答

0

也許這可以幫助你

let widthConstraint = view.widthAnchor.constraint(equalToConstant: width) 
let heightConstraint = view.heightAnchor.constraint(equalToConstant:height) 
widthConstraint.isActive = true 
heightConstraint.isActive = true 

view是,你作爲一個自定義標題視圖使用的視圖。而widthheight是你想要使用的大小。您可以使用:

let width = view.frame.width 
let height = view.frame.height 
2

在自定義標題視圖類中創建自定義視圖並覆蓋以下方法以在運行時更新視圖框架大小。

對象 -

-(CGSize)intrinsicContentSize 
{ 
    [super intrinsicContentSize]; 
    return UILayoutFittingExpandedSize; 
} 

斯威夫特

override var intrinsicContentSize: CGSize { 
    return UILayoutFittingExpandedSize 
} 

檢查,讓我知道是不是爲你工作或沒有?

+0

只是調試通過層次結構視圖選項,您可以瞭解ios 11中自定義titleView的幀大小爲零。要在運行時更新幀大小,您需要調用此方法。 –

+0

哦,是嗎?此代碼是否顯示了對iOS 10及更低版本的現有行爲的任何影響?或者它只針對iOS 11? –

+0

我希望,不會影響iOS 10及更低版本的現有行爲。請檢查並讓我知道。 –