2011-05-11 91 views
0

我有一個UINavigation欄,在我的一些視圖中沒有使用UINavigationController。所以我不使用導航控制器推新視圖,我再次加載新的視圖,其頂部具有「靜態」UINavigationBar。iPhone - 快速導航欄問題

因此,目前導航欄只顯示用戶正在查看的視圖的標題,他們沒有其他功能。

在我的一些看法我有一個要求有一個返回按鈕,大約3次出10

所以我想知道是否有可能對我來說,插入一個返回按鈕,指出回來,去回到以前的屏幕只有這3個視圖,所以我將不得不能夠插入後退按鈕,並且還能檢測到它被按下的時間。

我可以用我當前的設置來做到這一點,還是我需要返回並使用UINavigationController創建視圖,並使用它來推送和彈出我的視圖,並以某種方式抑制7個屏幕上的後退按鈕,我不想要它顯示在?

編輯:

我試圖通過以下方式:

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBackButtonItemStyleBorder target:nil action:selector(myaction)]; 
[navItem setBackBarButtonItem:backButton]; //Doesn't work 
[navItem setLeftBarButtonItem:backButton]; //Works but lacks the back arrow style of the back button 
[backButton release]; 

所以我可以添加一個按鈕,但它並不像後退按鈕,有沒有一種方法,使它看起來像後退按鈕,或者我應該從頭開始,只使用UINavigationController?如果我做了,我怎麼能抑制後退按鈕,當我不想要一個?

回答

1

你可以,如果我正確地得到你。只需在導航欄中添加一個自定義按鈕leftBarButtonItembackBarButtonItem併爲其定製按鈕按下操作。在按鈕方法中,您可以刪除此視圖並顯示您以前的視圖。但是,這表示更好的方法是使用正常UINavigationController如果您的應用程序在所有屏幕中都有導航欄。

+0

我不介意這樣做UINavigationController的方式,它只是意味着更多的工作,必須稍微重做我的屏幕,然後抑制7/10屏幕上的後退按鈕。 – 2011-05-11 14:07:58