8

我有一個navigationController,它有一個導航欄。我真的很想有3個UIBarButtonItems,一個在左邊,一個在中間,一個在右邊。我能夠添加左側和右側的圖像,但是如何在中間添加一個,因爲使用navigationController時,我無法將項目數組添加到navBar項目屬性中?將UIBarButtonItem添加到navigationItem.titleView?

我可以以某種方式添加一個UIButton,樣式爲titleView位置中的UIBarButtonItem?

回答

4

取自apple api,基本上你可以創建一個自定義UIView,它有一個UIButton,並將其用作titleView(注意關於leftBarButtonItem的註釋會導致titleView被忽略並且不顯示):(編輯注:這是UINavigationItem的一個屬性)

titleView 當這個項目是頂部項目時,導航欄中間顯示的自定義視圖。

@屬性(非原子,保留)的UIView * titleview的 討論 如果這個屬性值是零,導航項目的標題時,該產品頂部的項目顯示在導航欄的中心。如果您將此屬性設置爲自定義標題,則會顯示它而不是標題。如果leftBarButtonItem不爲零,則該屬性將被忽略。

自定義視圖可以包含按鈕。使用UIButton類中的buttonWithType:方法以導航欄的樣式將按鈕添加到自定義視圖中。自定義標題視圖集中在導航欄上,可能會調整大小以適合。

+1

在`leftBarButtonItem`導致`titleView`被忽略的文檔中的註釋很有趣。在iOS 4.3和iOS 5.1的測試中,我發現這是* false *。我已經添加了一個按鈕作爲左邊的項目,並添加了一個分段控件作爲標題,並愉快地顯示。 – 2012-04-06 02:48:05

相關問題