在我的应用程序中,我提供了一个modalviewcontroller,如下所示,我无法更改导航栏的标题或其任何属性。
fullListTopCompanies *fullListTopCompaniesInstance = [[fullListTopCompanies alloc] initWithNibName:@"fullListTopCompanies" bundle:nil];
UINavigationController *cntrol = [[UINavigationController alloc] initWithRootViewController:fullListTopCompaniesInstance];
[fullListTopCompaniesInstance setTitle:@"TEST"];
UIBarButtonItem *submit = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(displayViewForPosts)];
fullListTopCompaniesInstance.navigationItem.rightBarButtonItem = submit;
[submit release];
[self presentModalViewController:cntrol animated:YES];
[cntrol release];
我尝试实例化应用程序委托并将其navigationcontroller分配给本地navigationcontroller实例但没有用。
不知何故导航控制器无法访问。使用“self.navigationitem”无法访问它。每当我使用navigationcontroller呈现modalviewcontroller时,此导航都会出现在实际的navigationcontroller下面。
有人可以帮忙吗?
提前完成。
答案 0 :(得分:2)
例如,如果您尝试为名为“ABCViewController”的ViewController设置导航栏的标题,则添加
self.Title = @“”;
在 viewWillAppear ABCViewController的方法中,尝试重建并运行。
希望这会有所帮助。 :)
答案 1 :(得分:0)
每当我使用navigationcontroller呈现modalviewcontroller时,此导航都会出现在实际的navigationcontroller下面。
问题是因为在自己上调用presentModalViewController:
,你应该在self.navigationController
上调用它,导航控制器不会在另一个下方显示。
至于为什么你不能设置navigationController的属性,我不知道。它对我来说很好看。但我希望这是因为你在nib-loader调用 viewDidLoad
之前设置属性。我想我很久以前就会记得这样的问题。
你应该在UIViewController
子类的viewDidLoad
方法中设置标题等,我认为你担心会结束。
答案 2 :(得分:0)
我用xcode模板创建了一个简单的基于视图的应用程序,然后我添加了你的代码,它对我有用......
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the view controller's view to the window and display.
TestViewController *fullListTopCompaniesInstance = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
UINavigationController *cntrol = [[UINavigationController alloc] initWithRootViewController:fullListTopCompaniesInstance];
[fullListTopCompaniesInstance setTitle:@"TEST"];
UIBarButtonItem *submit = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self
action:@selector(displayViewForPosts)];
fullListTopCompaniesInstance.navigationItem.rightBarButtonItem = submit;
[window addSubview:viewController.view];
[window makeKeyAndVisible];
[viewController presentModalViewController:cntrol animated:YES];
[cntrol release];
[submit release];
return YES;
}