鍍金池/ 問答/iOS/ iOS11 navigationItem.titleView 適配問題

iOS11 navigationItem.titleView 適配問題

clipboard.png

navigationItem.titleView = 自定義view,
寬度200.在iOS10 及之前是OK的,
xcode9+iOS11,就出現(xiàn)了圖一所示問題,
看UI結(jié)構(gòu)發(fā)現(xiàn)寬度只有一點點,
不知道是哪里出的問題,
是iOS11出了什么新的東西導致的么?

請問這個問題該怎么解決呢?

問題補充:剛剛發(fā)現(xiàn)在iOS11 navigationItem.titleView = 自定義view,
自定義view里有個button,點擊事件不觸發(fā)了.在iOS10上是好的

回答
編輯回答
亮瞎她

iOS11導航欄titleView圖層有變化.
iOS 10及以下 自定義titleView會添加在navigationBar
iOS 11 添加在UINavigationBarContentView上.
iOS11適配

2017年1月6日 23:59
編輯回答
舊城人

iOS11之前默認不開啟自動布局,iOS11之后模塊打開了,所以原來用frame做的自定義view,需要實現(xiàn)intrinsicContentSize方法。

2018年8月7日 16:18
編輯回答
心沉

在iOS11 自定義titleview里有個button,點擊事件不觸發(fā)了.的解決辦法如下:
1:在自定義titleview 里重寫 intrinsicContentSize 屬性,代碼如下:

@property(nonatomic, assign) CGSize intrinsicContentSize;

2:然后在 self.navigationItem.titleView = _titleView; 之前加入下面的代碼:

_titleView.intrinsicContentSize = CGSizeMake(200, 40);

CGSizeMake(200, 40); 寬高 自己根據(jù)實際情況自己設置具體值就可以了。這樣titleview 里的button 應該就可以點擊了。

2018年1月3日 00:11
編輯回答
放開她

我在present 之后在進行push navigationBar 上啥都沒有了, 就算XIB拖一個出來也一樣。 我崩潰了

2018年8月1日 19:10
編輯回答
夕顏

用自動布局設置寬高就可以了

2018年8月16日 06:54
編輯回答
老梗

老鐵,能不能給個demo學習一下???

2018年1月31日 02:48
編輯回答
故林

能給個demo 嗎 急啊

2018年5月31日 18:39
編輯回答
舊城人

蘋果想讓你使用 AutoLayout 機制,所以這里你需要設置:

customView.translatesAutoresizingMaskIntoConstraints = false
2017年6月10日 05:27
編輯回答
薔薇花

請問我的titleView里不是button而是手勢 也是iOS11不能響應點擊事件,iOS10可以 請問怎么修改?

2018年7月3日 01:45
編輯回答
萌吟

重寫intrinsicContentSize方法

- (CGSize)intrinsicContentSize
{
    return CGSizeMake(200, 44);
}
2017年8月22日 16:18