5

我已经将我的第一个视图嵌入到 NavigationController 中,然后我将 segue 设置为推送。我想在每个视图中更改导航栏的标题以显示某些内容并通过我的代码对其进行更新。我试图这样调用导航控制器:

self.navigationController.navigationBar.topItem.title = @"YourTitle";

但这不起作用,我该怎么做?

4

5 回答 5

14

导航控制器从视图控制器获取标题,这样就可以完成工作

- (void)viewDidLoad {

   [super viewDidLoad];
   self.title = @"Some Title";
}
于 2013-05-28T10:25:32.830 回答
5

这对我有用:

self.navigationItem.title = @"YourTitle"; 

希望能帮助到你。

于 2013-05-28T10:27:03.870 回答
2
self.title = @"My Title"

这将更改导航栏标题以及引用此视图控制器的标题元素(例如标签栏等)

self.navigationItem.title = @"My Title";

这只会更改当前视图控制器导航栏的标题。

于 2017-05-08T03:19:33.453 回答
0

如果您只更改导航栏标题,请尝试使用 initwithnibname 方法

        self.title=@"your title";

但是你想给标题的颜色或字体大小然后你想在它上面取一个 UIlable

        UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];

        label.backgroundColor = [UIColor clearColor];
        label.font = [UIFont boldSystemFontOfSize:20.0];
        label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
        label.textAlignment = UITextAlignmentCenter;

        label.textColor = [UIColor blackColor];
        self.navigationItem.titleView = label;
        label.text =@"your title";
        [label sizeToFit];
于 2013-05-28T11:19:55.550 回答
0

您也可以替换标题视图:

UIView* titleView = [[UIView alloc] init];
[self.navigationItem setTitleView: titleView];
于 2013-05-28T10:43:48.440 回答