2010-07-22 14 views
1

我有一個導航應用程序,有許多屏幕用戶導航到。一些視圖動態管理這些屏幕。我想要做的是添加一個按鈕,該按鈕將始終顯示在用戶查看的每個屏幕上。我需要這樣做,以便用戶始終能夠執行與該按鈕相關的操作,而不管他們在應用中的位置。iPhone持久性按鈕在所有視圖

是否有可能通過只添加此按鈕一次,並讓它在像我的導航欄是視圖之間傳遞?或者我只需要將這個按鈕及其功能添加到我擁有的每個視圖文件中?

謝謝

+1

的可能重複[iPhone:是否有可能在我的應用程序的所有意見「info'按鈕?](http://stackoverflow.com/questions/3185208/iphone-is-it-possible-to - 具備-AN-信息鍵式進全視圖功能於我的應用程序內) – 2010-07-22 14:40:16

回答

1

我會說這可能取決於按鈕的作用。如果該按鈕對所有視圖都是通用的,這意味着它以同樣的方式影響所有視圖,因此不需要對給定視圖進行自定義,那麼執行此操作的一種方法是將該函數包含在App Delegate中或作爲您的子類導航控制器。

然後,您可以使用rightBarButtonItem始終顯示相同的按鈕並只訪問該方法。您只需在每個viewDidLoad中添加rightBarButtonItem的代碼(但它們都是相同的)。

我在一個項目上用「升級」按鈕做了類似的事情。由於所有按鈕都是將AppStore啓動爲付費版本,因此它獨立於所有視圖,並且我可以將其放置在任何位置。

0

如果需要,您可以將按鈕放在導航欄上。或者,更通用的方法是將單個視圖分割爲兩個視圖。一個很小,只包含你的按鈕,但始終停留在屏幕上。第二個是您的工作區,您可以交換顯示當前內容的視圖。您會注意到,這是導航控件和標籤欄控件的工作方式。 做到這一點的最後一種方法是將不同的按鈕放在每個視圖的相同位置,並讓它們都觸發相同的動作。就用戶而言,這看起來像是同一個按鈕。這裏的缺點是,你不能以簡單的方式改變所有視圖中的按鈕。