首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未应用UINavigationController标题

未应用UINavigationController标题
EN

Stack Overflow用户
提问于 2010-10-07 23:50:07
回答 2查看 5.6K关注 0票数 2

我想知道为什么我的UINavigationController不让我设置标题。它允许我更改navigationBar的色调,但我设置的标题和rightBarButtonItem会被忽略。为什么?

下面是我的代码:

代码语言:javascript
复制
  taps = 0;

  UIView*controllerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

  controllerView.backgroundColor = [UIColor whiteColor];

  controller = [[UIViewController alloc] init];

  [controller setView:controllerView];

  [controllerView release];

  navController = [[UINavigationController alloc] initWithRootViewController:controller];

  navController.navigationBar.barStyle = 1;

  navController.navigationItem.title = @"Setup";

  UIBarButtonItem*item = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonSystemItemDone target:self action:@selector(dismissSetup:)];

  navController.navigationItem.rightBarButtonItem = item;

  [item release];

  [self presentModalViewController:navController animated:YES];

  [mp stop];

附言:我知道我不会发布我允许的一些东西,我以后会这样做的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-07 23:56:16

导航控制器按如下方式更新导航栏的中间部分:如果新的顶级视图控制器具有自定义标题视图,则导航栏将显示该视图,而不显示默认的标题视图。若要指定自定义标题视图,请设置视图控制器的导航项的titleView属性。如果没有设置自定义标题视图,导航栏将显示一个包含视图控制器默认标题的标签。此标签的字符串通常从视图控制器本身的title属性中获取。如果您想要显示与

视图控制器,请改为设置视图控制器的导航项的title属性。

您希望UINavigationController根据当前位于顶部的视图控制器更改其标题。因此,要做的就是在视图控制器中设置标题,然后将其推送到viewcontrollers数组中。

顺便说一句:我不认为导航控制器应该以模态的形式呈现:

视图由于UINavigationController类继承自UIViewController类,因此导航控制器具有自己的视图,可以通过

属性访问该视图。在部署导航界面时,必须将此视图安装为所创建的任何视图层次结构的根。例如,如果您要单独部署导航界面,则应将此视图设置为窗口的主子视图。要在选项卡栏界面中安装导航界面,需要将导航控制器的视图安装为相应选项卡的根视图。

票数 5
EN

Stack Overflow用户

发布于 2010-10-08 00:07:40

设置:viewController中的self.title = @"This is my title";

(或者在您的情况下设置controller.title = @"this is my title";)

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3883437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档