UINavigationBar强制标题视图在后面居中

时间:2012-06-01 09:29:19

标签: ios alignment uinavigationbar title back

我为导航栏实现了自定义标题视图,其中包含图像和标签。通过将其origin.x设置为10像素,此视图与条形图的左侧对齐。

到目前为止一切顺利,但是当我按下视图控制器然后返回主屏幕时,标题视图居中而不是位于左侧。

我尝试将其左侧和后侧栏按钮项设置为nil,将其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;

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

首先你应该在viewDidLoad中设置navigationItem(在调用[super viewDidLoad]之后)NOT viewWill / DidAppear。

您是仅在第二个视图控制器上设置navigationItem而不是主要的vc ???

如果需要,您需要在两者上设置navigationItem,或者在两个视图控制器应该子类化的Base View Controller类中设置。