无法将UIBarButtonItem添加到UITabBarController内的navigationController中

3
ViewController *VC = [[ViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *NavCon = [[UINavigationController alloc] initWithRootViewController:VC];
NavCon.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(showall)];
[self.myTabBarController setViewControllers:@[NavCon]];

为什么我的导航控制器中没有添加UIBarButtonItem
3个回答

6

首先,删除/注释以下代码行:

NavCon.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(showall)];

然后把这段代码放到您的导航控制器视图控制器的viewDidLoad方法中。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(showall)];

2
您可以像这样做:
UITabBarController *my = [[UITabBarController alloc]init];
    UIViewController *new =  [[UIViewController alloc]init];
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:new];
    new.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"+" style:UIBarButtonItemStyleBordered target:new action:@selector(addButtonClicked:)];
    [my setViewControllers:@[nav]];

1
你能尝试下面的代码吗?
VC.navigationController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(showall)];
[self.myTabBarController setViewControllers:@[NavCon]];

1
没有,它不起作用,但如果我这样做,它就可以工作了:VC.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"+" style:UIBarButtonItemStyleBordered target:self action:@selector(showall)]; - Ayubxon Ubaydullayev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接