我想知道为什么我的UINavigationController不让我设置标题。它允许我更改navigationBar的色调,但我设置的标题和rightBarButtonItem会被忽略。为什么?
下面是我的代码:
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];附言:我知道我不会发布我允许的一些东西,我以后会这样做的!
发布于 2010-10-07 23:56:16
导航控制器按如下方式更新导航栏的中间部分:如果新的顶级视图控制器具有自定义标题视图,则导航栏将显示该视图,而不显示默认的标题视图。若要指定自定义标题视图,请设置视图控制器的导航项的titleView属性。如果没有设置自定义标题视图,导航栏将显示一个包含视图控制器默认标题的标签。此标签的字符串通常从视图控制器本身的title属性中获取。如果您想要显示与
视图控制器,请改为设置视图控制器的导航项的title属性。
您希望UINavigationController根据当前位于顶部的视图控制器更改其标题。因此,要做的就是在视图控制器中设置标题,然后将其推送到viewcontrollers数组中。
顺便说一句:我不认为导航控制器应该以模态的形式呈现:
视图由于UINavigationController类继承自UIViewController类,因此导航控制器具有自己的视图,可以通过
属性访问该视图。在部署导航界面时,必须将此视图安装为所创建的任何视图层次结构的根。例如,如果您要单独部署导航界面,则应将此视图设置为窗口的主子视图。要在选项卡栏界面中安装导航界面,需要将导航控制器的视图安装为相应选项卡的根视图。
发布于 2010-10-08 00:07:40
设置:viewController中的self.title = @"This is my title";
(或者在您的情况下设置controller.title = @"this is my title";)
https://stackoverflow.com/questions/3883437
复制相似问题