iOS常见问题之动态修改UINavigationController的rightBarButtonItem的title
来源:互联网 发布:foxmail数据存在哪里 编辑:程序博客网 时间:2024/05/21 17:06
1.初始化
在viewDidLoad里,为navigationItem添加名称为“添加分栏”的按钮
- (void)viewDidLoad{ [super viewDidLoad];// Do any additional setup after loading the view. self.navigationItem.rightBarButtonItem.title = @"添加分栏"; [self.navigationItem.rightBarButtonItem initWithBarButtonSystemItem:UIBarButtonSystemItemUndo target:self action:@selector(myAction)]; }
2.试图更改按钮名称失败
尝试通过如下方式修改按钮的名称,但是失败了
-(void)onSelectionChanged:(id)selection{ self.navigationItem.rightBarButtonItem.title = @"编辑"; }
3.原因分析
为何直接设置backBarButtonItem的title无效呢?
查看苹果文档UIBarButtonItem的父类UIBarItem的title属性描述:
You should set this property before adding the item to a bar. The default value is nil.故无法修改其title,只能重置这个控件本身。
4.正确代码
4.1思路一
单单修改标题不行,是不是还应该再调用一下初始化方法呢?代码如下,最终还是不行啊,无语了
self.navigationItem.rightBarButtonItem.title = @"编辑";[self.navigationItem.rightBarButtonItem initWithBarButtonSystemItem:UIBarButtonSystemItemUndotarget:selfaction:@selector(myAction)];
4.1思路二
既然只改标题不起作用,那就把整个按钮换掉吧!
创建一个新的按钮,用这个新按钮替换self.navigationItem.rightBarButtonItem,这次总算可以了,谢天谢地!!!
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemUndo target:self action:@selector(changeWellColumnAction)]; temporaryBarButtonItem.title = @"编辑"; self.navigationItem.rightBarButtonItem = temporaryBarButtonItem; [temporaryBarButtonItem release];
5.总结
该问题中思路一不成功的原因还是没有找到,思路二有没有什么副作用也不是很清楚,欢迎各路大神不吝赐教!!!
0 0
- iOS常见问题之动态修改UINavigationController的rightBarButtonItem的title
- rightBarButtonItem的title颜色修改
- 修改UINavigationController中leftBarButtonItem按钮的title
- 修改UINavigationController中leftBarButtonItem按钮的title
- ios动态修改title无效的处理方式
- 微信中使用js动态的修改title失效(ios)
- iOS-关于UINavigationController的title不显示问题
- iOS-关于UINavigationController的title不显示问题
- react-navigation之动态修改title的内容
- UINavigationController的title设置图片
- UINavigationController的title不显示
- IOS之【UINavigationController的使用】
- iOS之UINavigationController的使用
- iOS之UINavigationController的使用
- iOS UINavigationController 修改默认的动画
- ios UIBarButtonItem rightBarButtonItem Title 设置不了
- 动态修改asp.net的title值
- 动态修改js中文字的title
- 对getElementsByTagName("*")获取全部元素的总结
- TestNG介绍
- kvm安装与启动过程说明-Kernel源码编译方式
- 数据结构_课程设计——最小生成树:室内布线
- javascript继承
- iOS常见问题之动态修改UINavigationController的rightBarButtonItem的title
- KVM硬件辅助虚拟化之 EPT(Extended Page Table)
- Linux下Apache网站目录读写权限的设置
- 做嵌入式驱动的前途何在
- 2015阿里笔试题
- POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
- 黑马程序员-OC对象的三大特性
- 微信能否替代淘宝,且听我分解
- Tree of Tree