我喜歡將獨立Xib文件創建爲獨立Xib文件,然後實例化它們並添加爲子視圖。使用UINavigationBar和UIBarButtonItem自動佈局
因此,當與UINavigationBar
的工作,我希望能夠做同樣的事情,首先要創建我的自定義視圖 - 從廈門國際銀行 - 然後將其添加爲自定義視圖到UIBarButtonItem
:
UIBarButtonItem *anItem = [[UIBarButtonItem alloc] initWithCustomView:_myCustomView];
然後添加到導航欄:
self.navigationBar.topItem.rightBarButtonItems = @[ anItem, anotherItem ];
到目前爲止好。
現在,_myCustomView
使用自動佈局(AL),我認爲這將是沒有問題的。 並非如此。我已經試過一切。沒有任何工作。我甚至嘗試添加自定義視圖作爲具有導航欄的控制器的子視圖。認爲作爲視圖層級中的兄弟姐妹,AL會將其視爲UINavigationBar
以外的常規視圖。
這也沒有工作。控制器的updateViewConstraints
已被調用,但從未應用。該視圖的初始框架保持在CGRectZero
。就好像AL認爲這個視圖位於UINavigationBar
之上,即使是兄弟姐妹,也決定它不需要鋪設。
當然,我試過bringSubviewToFront
,translatesAutoresizingMaskIntoConstraintstranslatesAutoresizingMaskIntoConstraints
等等。後者給了可愛:
終止應用程序由於未捕獲的異常 「NSInternalInconsistencyException」,理由是:「自動佈局執行-layoutSubviews後仍然需要 。 MyNavigationBar的 -layoutSubviews的實現需要調用超級。
所以,問題是,有沒有人從廈門國際銀行加載AL自定義視圖,併成功地將此作爲一個UIBarButtonItem
一個customView
?如果是這樣,怎麼樣?
我還沒有爲它提交過雷達,但我也遇到過這個問題,它似乎是iOS 6的一個bug。以編程方式創建UIBarButtonItem及其視圖表現出同樣的問題。 – Ryan
您是否找到解決此問題的解決方案? – Redwarp
關於該主題的任何新聞?我認爲在iOS 7中我仍然有類似的問題(儘管有工具欄)。 –