1

我已经为我的导航栏实现了一个自定义标题视图,其中包含一个图像和一个标签。通过将其 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;

我怎样才能做到这一点?

4

1 回答 1

1

首先,您应该在 viewDidLoad 中设置 navigationItem(在调用 [super viewDidLoad] 之后)而不是 viewWill/DidAppear。

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

如果是这样,您需要在两者上设置 navigationItem,或者在两个视图控制器都应子类化的基本视图控制器类中。

于 2012-06-01T10:55:19.377 回答