好吧,所以我有一個tabbar iPhone應用程序。 tabbarcontroller包含大約5個視圖控制器,每個嵌入在他們自己的導航控制器中,除了1之外,我只是在IB中添加了一個導航欄,以便在整個應用程序中保持一致的外觀。在應用程序中的每個導航欄上,我都需要一個rightBarButtonItem,它將打開相同的模式視圖控制器,無論它從何處被選擇。與音樂應用程序中的「正在播放」按鈕類似,我希望按鈕保留在每個導航欄上,而不管我在哪個選項卡上或導航控制器有多深。我會如何去做這樣的事情?有什麼方法可以簡單地將按鈕應用於每個導航欄?UIAppearance可以將圖像應用於應用中的每個導航欄?提前感謝任何想法。在tabbarcontroller內的所有導航欄上的持久UIBarButtonItem
1
A
回答
2
一個簡單的方法是創建一個基本視圖控制器,所有其他視圖控制器都從其中擴展。
完成此操作後,您可以在viewDidLoad
方法中設置UIBarButtonItem
,該方法將自身附加到導航欄並監聽事件。從那裏,觀察事件並呈現模態視圖控制器或將適當的視圖控制器推入導航堆棧將非常容易。
我使用這種方法作爲「登出」欄按鈕項目,當點擊時顯示登錄視圖控制器作爲用戶退出其帳戶的快速替代方案。
唯一不利的一面是,從基本視圖控制器繼承的每個視圖控制器將在導航欄中具有註銷按鈕。如果您需要其他按鈕或想要隱藏默認按鈕,則需要替換爲其他按鈕。
這是一個快速簡單的方法,如果需要也很容易刪除,因爲您可以更改頭文件以反映繼承,而不是篩選幾個視圖控制器,刪除該按鈕的每個實例。這也很容易維護,因爲您可以在任何子類中重載按鈕目標以在事件觸發時執行不同的功能。
相關問題
- 1. 所有活動之上的持久性導航欄
- 2. UIBarButtonItem在導航欄上沒有邊框
- 3. 導航欄停留在TabBarController上
- 4. UIBarButtonItem iOS 7上的setTitlePositionAdjustment導航欄
- 5. UIBarButtonItem在導航欄中間?
- 6. 保持導航欄的所有頁面
- 7. 將留在導航欄右側的UIBarButtonItem
- 8. UiBarButtonItem沒有工具欄或導航條
- 9. Jquery Mobile持久性導航欄 - 閃爍
- 10. 持久jquery移動導航欄
- 11. 更改tabbarcontroller的導航欄backgroundcolor
- 12. 保持導航欄浮動在所有其他內容
- 13. 爲的UIBarButtonItem負間隔在導航欄上的iOS 11
- 14. 使用jQuery Mobile在所有頁面上保持導航欄
- 15. 在導航欄中自定義UIBarButtonItem。
- 16. 導航欄上的導航欄
- 17. 導航欄上方的導航欄
- 18. 導航欄上方的導航欄
- 19. 導航欄在導航欄上搜索
- 20. 隱藏導航欄永久
- 21. 如何將UIBarButtonItem添加到導航欄?
- 22. 導航欄上的自定義UIBarButtonItem圖像偏移
- 23. 使用導航欄上的錯誤bug UIBarButtonItem
- 24. jQuery的移動持久性導航欄頁腳部分隱藏
- 25. 網站導航之間的持久聊天欄
- 26. 帶導航條的TabBarController
- 27. 帶UI元素的永久導航欄
- 28. tabBarController導航問題/
- 29. 導航/ TabBarController消失
- 30. 在除主頁外的所有頁面上顯示導航欄