码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-06-17 07:12:34      阅读:207      评论: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!