如何给UIToolBar 添加 多个UIBarButtonItem

如何给UIToolBar 添加 多个UIBarButtonItem,第1张

在开发中,有时需要在状态条下面展示一个工具条,并且在工具条上放置一些按钮.这在UIToolBar中比较容易实现: 1.新建一个继续自UIViewController的类2.在实现文件的 viewDidLoad方法里面添加如下代码: - (void)viewDidLoad { [super viewDidLoad]...

1. 如何设置title

2. 如何设置 leftBatButtonItem和 rightBarButtonItem

UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"左边按钮" style:UIBarButtonItemStylePlain

target:self action:@selector(OnLeftButton:)]

self.navigationItem.leftBarButtonItem = leftButtonItem

[leftButtonItem release]

UIBarButtonItem *rightButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"右边按钮" style:UIBarButtonItemStylePlain

target:self action:@selector(OnRightButton:)]

self.navigationItem.rightBarButtonItem = rightButtonItem

[rightButtonItem release]

在iOS平台,UINavigationBar可以通过设置tintColor来改变导航条的背景颜色,但是由于UIBarButtonItem没有文本颜色设置功能,所以如果将UINavigationBar的tintColor设置成whiteColor的话,文字显示就不怎么清晰了。这种情况网上一般建议通过建立一个UILabel,赋值给UINavigationItem的titleView属性,改变标题的颜色。建立一个UIButton,通过UIBarButtonItem的initWithCustomView方法创建UIBarButtonItem对象效果不尽人意吧。当然可以通过设置背景图片什么的,加强效果。但总体来说不如只改变文本颜色方便。iOS的Objective C提供了runtime函数,定义在objc目录下面。通过这些运行时库函数可以对系统定义的对象进行修改,比如增加方法,修改方法的代码地址....通过枚举UINavigationBar的子视图,发现显示UIBarButtonItem内容的是UINavigationButton,它有一个子视图类型为UIButtonLabel,UIButtonLabel继承自UILabel,UIButtonLabel类型本身没有重载setTextColor:方法,因此调用class_addMethod给UIButtonLabel类型增加一个setTextColor:方法,然后把传进来的color强制改成其他颜色,再调用UILabel的setTextColor:方法即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11419610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存