IOS开发之navigationBar的使用
来源:互联网 发布:淘宝hd版微淘在哪里 编辑:程序博客网 时间:2024/05/22 11:46
(转载请保留此文字:本文来源:[[iphone开发私房菜_1_] 在navigationBar上面添加多个任意控件 http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080474.aspx] write by Gray.Luo guohui.great@gmail.com)
基本的navigationBar上面就左,中,右 3个位置,而且默认也是添加UIBarButtonItem/UINavigationBar按钮,但是很多开发过程中会遇到在上面添加更多其它控件,经过研究后,所以特写此文,算是做个笔记,也希望能够帮助朋友解决正在解决的这方面的问题。
1.在固定位置添加UIBarButtonItem
- UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]
- initWithTitle:@"myButton"
- style:UIBarButtonItemStyleBordered
- target:self
- action:@selector(action)]autorelease];
- self.navigationItem.leftBarButtonItem = myButton;
- //self.navigationItem.rightBarButtonItem = myButton;
- //self.navigationItem.backBarButtonItem = myButton;
- [myButton release];
NavigationItem类有以下一些成员:
-title
-titleview
-backBarButtonItem//这是有返回上一级事件的后退按钮
-rightBarButtonItem
-leftBarButtonItem
2.在任意位置添加一个UIToolbar叠加到navigationBar上,然后设置其背景透明,则可以实现在上这个navigationBar 上面添加多个按钮的效果
- UIToolbar *mycustomToolBar;
- NSMutableArray *mycustomButtons = [[NSMutableArray alloc] init];
- UIBarButtonItem *myButton1 = [[[UIBarButtonItem alloc]
- initWithTitle:@"Get5"
- style:UIBarButtonItemStyleBordered
- target:self
- action:@selector(action)]autorelease];
- myButton1.width = 40;
- [mycustomButtons addObject: myButton1];
- UIBarButtonItem *myButton2 = [[[UIBarButtonItem alloc]
- initWithTitle:@"Play5"
- style:UIBarButtonItemStyleBordered
- target:self
- action:@selector(action)]autorelease];
- myButton2.width = 40;
- [mycustomButtons addObject: myButton2];
- mycustomToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f,320.0f, 44.0f)];
- //mycustomToolBar.center = CGPointMake(160.0f,200.0f);
- mycustomToolBar.barStyle = UIBarStyleDefault;
- [mycustomToolBar setItems:mycustomButtons animated:YES];
- [mycustomToolBar sizeToFit];
- [self.view addSubview:mycustomToolBar];
- //self.navigationItem.titleView = mycustomToolBar;//与上一句都可实现在上面叠加工具条
- //将toolbar的颜色设置为透明,总之使用两个控件叠加完美
- [mycustomToolBar release];
- [mycustomButtons release];
这里是在UIToolbar 上面添加UIBarButtonItem,然而我们很多时候可能会添加其它控件,如:switch,label等等,所以在UIToolbar上面如何添加各种控件,就参考下一篇文章。
3.在任意位置添加UISegmentedControl
- UISegmentedControl * mySegment;
- mySegment = [[UISegmentedControl alloc]
- initWithFrame:CGRectMake(5.0f, 10.0, 60.0f, 30.0f)];
- [mySegment insertSegmentWithTitle:@"mySeg1" atIndex:0 animated:YES];
- [get5Segment insertSegmentWithTitle:@"mySeg2" atIndex:1 animated:YES];
- mySegment.segmentedControlStyle = UISegmentedControlStyleBar;
- [mySegment addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
- mySegment.selectedSegmentIndex = -1;
- [self.navigationController.navigationBar addSubview: mySegment];
- [mySegment release];
如果要在navigationBar实现多个按钮,而且某个功能块的类似按钮需要挨在一起,用segment实现还是很不错,用UIBarButtonItem实现的话,按钮间总是有一个间隔。
4.在任意位置添加UILabel
- UILabel* myLabel;
- myLabel=[[UILabel alloc] initWithFrame:CGRectMake(100.0f, 14.0f, 100.0f, 10.0f)];
- myLabel.font=[UIFont systemFontOfSize:10];
- myLabel.backgroundColor = [UIColor clearColor];
- [self.navigationController.navigationBar addSubview: myLabel];
- [myLabel release];
5.在任意位置添加UIProgressView
- UIProgressView *myProgress;
- myProgress =[[UIProgressView alloc] initWithFrame:CGRectMake(80.0f, 28.0f, 150.0f, 8.0f)];
- [self.navigationController.navigationBar addSubview: myProgress];
- [myProgress release];
小结:通过上面的方法 ,应该可以抛砖引玉,让你自己添加其他任意控件。还等什么呢?赶快试一下吧,让你的navigationBar条丰富多彩吧!(转载请保留此文字:本文来源:[[iphone开发私房菜_1_] 在navigationBar上面添加多个任意控件 http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080474.aspx] write by Gray.Luo guohui.great@gmail.com)
- IOS开发之navigationBar的使用
- ios开发之修改NavigationBar的背景图片
- iOS开发之NavigationBar的简单设置
- iOS开发之-NavigationBar NavigationItem
- iOS开发之设置navigationBar的背景颜色为无色
- iOS开发 之 navigationbar 与 tabbar 的显示与隐藏
- iOS开发 - navigationBar背景图默认的Translucent
- iOS之去掉NavigationBar 底部的黑线
- iOS开发:NavigationBar
- ios 的navigationBar
- iOS开发 -- IOS7界面兼容,从4.3到7.0兼容的NavigationBar ,IOS7 NavigationBar 适配
- ios开发swift中NavigationBar
- iOS开发自定义navigationBar上的左右按钮
- iOS开发------响应TableView下拉设置NavigationBar的透明度
- iOS开发-设置NavigationBar的颜色和字体属性
- ios 开发 navigationbar上私有属性的获取
- IOS之UI--动态设置NavigationBar的颜色以及透明度
- IOS之UI--动态设置NavigationBar的颜色以及透明度
- hdu((1116))欧拉回路和通路。。
- OpenCV中的提取子矩阵的函数
- Hive安装与配置——深入浅出学Hive
- 面试算法题
- 利用正则表达式获取博客园随笔(三)
- IOS开发之navigationBar的使用
- Linux 异步IO机制
- java基础知识汇总
- FZU 2020 组合
- Windows平台安装Apache
- Hive 内建操作符与函数开发——深入浅出学Hive
- ProtoBuf 的java使用
- 剑指Offer算法实现之十一:数值的整数次方
- Hive JDBC——深入浅出学Hive