2012-06-01 17 views
1

我已爲自己的導航欄實現了自定義標題視圖,其中包含圖像和標籤。該視圖與條的左側對齊,將其origin.x設置爲10像素。UINavigationBar強制標題視圖中心位於後面

到目前爲止好,但是當我推視圖控制器,然後返回到主屏幕,標題視圖的中心,而不是定位在左側。

我試過它的左側和背面欄按鈕項目零和origin.x設置爲10,但似乎沒有任何工作。我想這兩個viewWillAppear中和viewDidAppear:

CGRect frame = self.navigationItem.titleView.frame; 
frame.origin.x = 10; 
self.navigationItem.titleView.frame = frame; 

self.navigationItem.backBarButtonItem = nil; 
self.navigationItem.leftBarButtonItem = nil; 

我怎樣才能做到這一點?

+0

frame.origin.x = 10;嘗試將此添加到您的viewDidAppear – janusbalatbat

+0

您是否閱讀我的問題? ;) – verhage

+0

對不起。我讀得很快,沒有注意到代碼片段之前的最後一行.. – janusbalatbat

回答

1

首先你應該建立在viewDidLoad中的navigationItem不viewWill/DidAppear(調用[超級viewDidLoad中]後)。

你只有第二視圖控制器,而不是主要的VC上建立navigationItem ???

如果是這樣你需要在這兩個視圖控制器應該繼承基礎視圖控制器類設置上都navigationItem,或者。

+0

我設置了主視圖控制器上的導航項目,在viewDidLoad方法,調用後[超級viewDidLoad中] ... – verhage

+0

你需要它在viewDidLoad中的使用自定義導航標題每個視圖控制器。或者在你的視圖控制器子類的基本視圖控制器中 –