我有一個導航欄一個UIView,我想添加一個按鈕,它看起來像一個返回按鈕的樣式。我沒有使用UINavigationController,並想知道如果沒有它可以做到這一點?自定義繪製後退按鈕在iPhone上導航欄
按鈕的樣式應該是這樣的:
感謝
我有一個導航欄一個UIView,我想添加一個按鈕,它看起來像一個返回按鈕的樣式。我沒有使用UINavigationController,並想知道如果沒有它可以做到這一點?自定義繪製後退按鈕在iPhone上導航欄
按鈕的樣式應該是這樣的:
感謝
您需要設置UINavigationItem
對象的自定義堆棧,並推動他們到UINavigationBar的。這是我知道得到一個真正的後退按鈕的唯一途徑。我還沒有測試此代碼,但你應該做這樣的事情:
UINavigationItem *previousItem =
[[[UINavigationItem alloc] initWithTitle:@"Back title"] autorelease];
UINavigationItem *currentItem =
[[[UINavigationItem alloc] initWithTitle:@"Main Title"] autorelease];
[navigationBar setItems:[NSArray arrayWithObjects:previousItem, currentItem, nil]
animated:YES];
要處理時,按下按鈕,你應該爲自己設定爲導航欄的委託,實施UINavigationBarDelegate代表。
FYI:設置由navigationController管理的的導航欄的代表提出了一個例外:`***終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,原因:「不能手動設置委託由一個controller.'` – stigi 2013-03-25 11:18:48
管理的UINavigationBar的什麼是currentItem? – scientiffic 2014-08-29 02:46:09
您還可以通過以前的視圖控制器(而不是當前觀看的一個)上修改backBarButtonItem
更新此。
@casperOne除了在回答近2年後關閉問題之外,爲什麼要關閉它呢? http://stackoverflow.com/questions/227078中的接受答案建議使用圖片,而Mike Weller的答案則更加優雅。更何況,這裏的答案將支持更新的設備(例如,當視網膜顯示器啓動並且它仍然有效時,我沒有更改此代碼示例,圖像會顯示低分辨率結束)。 – 2013-02-18 12:10:25