可能嗎?導航欄左側的1個以上按鈕
我有一個UINavigationBar
,我希望在'後退'按鈕旁邊有'編輯'按鈕。從我讀過的東西你只能有一個或另一個,這是沒有意義的,因爲它們是navigationItem
對象(backBarButtonItem和leftBarButtonItem)的獨立屬性。
我假設你必須以某種方式在UINavigationBar
中插入自定義UIView
。我正在研究這個選項,如果沒有給出更好的解決方案,那麼我將概述這種方法。
可能嗎?導航欄左側的1個以上按鈕
我有一個UINavigationBar
,我希望在'後退'按鈕旁邊有'編輯'按鈕。從我讀過的東西你只能有一個或另一個,這是沒有意義的,因爲它們是navigationItem
對象(backBarButtonItem和leftBarButtonItem)的獨立屬性。
我假設你必須以某種方式在UINavigationBar
中插入自定義UIView
。我正在研究這個選項,如果沒有給出更好的解決方案,那麼我將概述這種方法。
簡短的回答是:
是的,你有你自己的UIButton的觀點(或其他UIControl子類)添加到導航控制器,你自己。因此,忽略自定義* ButtonItem屬性並自行滾動。
一個涉及多一點的回答是:
蘋果使得它很容易按照自己的準則HIG,但你是你自己,如果你想打破他們或自定義。在這種情況下,只允許使用一個按鈕,因爲實際點擊區域大於顯示按鈕的大小 - 從可用性的角度來看,更容易點擊。
多餘:
順便說一句,有左/ rightBarButtonItem和backBarButtonItem之間的微妙區別。左/右在當前UIViewController上指定。然而,後退由前面的UIViewController指定。
使用自定義視圖確實是您唯一的選擇。 UINavigationBar不是非常靈活。你需要做的是創建一個包含UIButtons的UIView。確保你意識到如果你使用自定義視圖,你會獲得backBarButtonItem自動行爲的無;你必須創建你自己的IBActions,以及按鈕的圖形。
在相關說明上,我不確定這是否是最好的主意。堅持Apple的UI準則通常是明智的;沒有其他地方可以放置編輯按鈕嗎?例如,酒吧的右側?
問題是2按鈕,編輯和導入。它們都會影響所選的當前項目。我將不得不考慮其他導入選項。 – Brenden 2009-07-28 15:44:40
@ Kelvin的答案適用於iOS 5之前的版本,如果您使用的是iOS 5+,則現在有leftBarButtonItems
數組屬性。請注意,您還必須將leftItemsSupplementBackButton
設置爲true。
如果我理解正確,點擊框大於按鈕是有意義的,但是分割按鈕等等呢?蘋果明確允許在他們的UIG。 – Brenden 2009-07-28 15:45:24