2012-02-08 66 views
8

我想在我的UIWebView的頂部有一個UINavigationBar,但我想用手來控制標題,後退按鈕,後退按鈕的功能 - 等等。換句話說,我從不想推送或彈出視圖。我只想在用戶點擊Web視圖時更改UINavigationBar的內容。使用UINavigationBar沒有UINavigationController

我在哪裏是我添加UINavigationBar到我的超級視圖,並使它44個像素高。如何設置標題,因爲我沒有導航項目?我將如何設置假背按鈕?

我會很感激任何指針。我意識到這很奇怪我在做什麼。

謝謝:)

回答

21

如果有人感興趣,答案是在UINavigationBar的類引用中。

當您使用導航欄作爲獨立對象時,您是 負責提供其內容。 不像其他類型的視圖, 你不直接添加子視圖到導航欄。相反,您使用 導航項目(UINavigationItem類的一個實例)至 指定要顯示的按鈕或自定義視圖。導航 項目具有用於指定導航欄中左側,右側和 視圖以及用於指定自定義提示 字符串的屬性。

總之,使用UINavigationItem並通過UINavigationBar上的「pushNavigationItem」應用它。

我創建了一個名爲StaticNavigationBar的UINavigationBar的子類,然後可以通過在其上放置適當的UINavigationItem來加載任何狀態。感謝所有你的答案的人。

+4

+1老兄...很好的答案 – 2012-02-09 06:49:54

+0

你爲什麼要繼承子類? – David 2015-08-24 18:38:12

+0

你不是真的@大衛 - 事實上,這些天我寧願組合而不是繼承。 – 2016-06-22 15:43:43

-1

你可以有UINavigationBar的作爲出口,然後你可以manupulate它,只要你想。所以你不必引用某人的導航項目。它將成爲您視圖上的獨立(某種)對象。

+0

我有我的UINavigationBar視圖。現在我打電話來設置標題?添加後退按鈕? – 2012-02-08 06:39:20

+1

UINavigationBar具有backItem屬性。說到標題,你必須通過導航項目屬性來完成,導航項目屬性也可以添加到IB或Storyboard作爲出口。導航項目具有標題屬性。 – 2012-02-08 07:24:58

-1

如果你不想要導航欄,你會不得不推出自己的。 如果你確定推動和彈出物品的內置動畫(不要混淆視圖控制器的推/彈出),你會設置你的UINavigationBarDelegate並使用它的方法來控制事物的推/拉彈出等。

+0

我喜歡UINavigationBar的外觀。我想知道如何在沒有uinavigationcontroller的情況下以編程方式設置標題和返回按鈕。到目前爲止,我只能將它添加到視圖並設置色調。無法看到設置標題或添加後退按鈕的方法。 – 2012-02-08 06:44:05

相關問題