首页 > 移动平台 > 详细

iOS UINavigationController添加左右按钮不显示问题解决方案

时间:2015-06-17 07:09:45      阅读:4319      评论:0      收藏:0      [点我收藏+]

一。场景模拟

我们有一个UINavigationController和一个UIViewController,在程序启动时初始化这两个,代码如下

HomeViewController *homeCon = [[HomeViewController alloc] init];  // 初始化uiviewcontroller
UINavigationHomeBar *homeNavigation = [[UINavigationHomeBar alloc] initWithRootViewController:homeCon];            // 初始化uinavigationcontroller

接下来,当我们在uinavigationcontroller中加入左右按钮时没有效果,代码如下

// 这个是uinavigationcontroller的viewdidload中
UIBarButtonItem *bill = [[UIBarButtonItem alloc] initWithTitle:@"账单" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.rightBarButtonItem = bill;

运行看不见按钮

二。问题解决

  1. 先查看navigationitem的说明

@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.

说:在程序有需要时才创建,若有一个viewcontroller则可能屏蔽当前navigation中的item


2.解决方法

既然uinavigationcontroller中的item不能用,就需要使用uiviewcontroller中的item

即将创建按钮写入到uiviewcontroller的viewdidload中

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.title = @"标题";
    
    // 添加账单按钮
    UIBarButtonItem *bill = [[UIBarButtonItem alloc] initWithTitle:@"账单" style:UIBarButtonItemStylePlain target:nil action:nil];
    self.navigationItem.rightBarButtonItem = bill;
}

三。navigation左右按钮颜色与标题颜色不一样的解决方案

在navigation的viewdidload中加入一句

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

即可


iOS UINavigationController添加左右按钮不显示问题解决方案

原文:http://my.oschina.net/littleDog/blog/467599

(1)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!