自定义导航按钮UIBarButtonItem
来源:互联网 发布:电脑日程提醒软件 编辑:程序博客网 时间:2024/05/16 05:58
自定义导航按钮UIBarButtonItem
基本上每个iOS APP里面都有导航,比如微信、QQ、支付宝。导航可以很方便地帮助我们管理视图控制器(UIViewController)。导航的重要性不言而喻,基本上是每一位iOS初学者都要接触到的问题。
iOS系统导航栏中有leftBarButtonItem
和rightBarButtonItem
,我们可以根据自己的需求来自定义这两个UIBarButtonItem
。
四种创建方法
系统提供了四种创建的方法:
- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action;- (instancetype)initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;- (instancetype)initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action;- (instancetype)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action;- (instancetype)initWithCustomView:(UIView *)customView;
通过系统UIBarButtonSystemItem创建
自定义rightBarButtonItem
,代码如下:
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(right:)];
UIBarButtonSystemItem有以下样式可以供选择:
typedef NS_ENUM(NSInteger, UIBarButtonSystemItem) { UIBarButtonSystemItemDone, UIBarButtonSystemItemCancel, UIBarButtonSystemItemEdit, UIBarButtonSystemItemSave, UIBarButtonSystemItemAdd, UIBarButtonSystemItemFlexibleSpace, UIBarButtonSystemItemFixedSpace, UIBarButtonSystemItemCompose, UIBarButtonSystemItemReply, UIBarButtonSystemItemAction, UIBarButtonSystemItemOrganize, UIBarButtonSystemItemBookmarks, UIBarButtonSystemItemSearch, UIBarButtonSystemItemRefresh, UIBarButtonSystemItemStop, UIBarButtonSystemItemCamera, UIBarButtonSystemItemTrash, UIBarButtonSystemItemPlay, UIBarButtonSystemItemPause, UIBarButtonSystemItemRewind, UIBarButtonSystemItemFastForward,#if __IPHONE_3_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED UIBarButtonSystemItemUndo, UIBarButtonSystemItemRedo,#endif#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED UIBarButtonSystemItemPageCurl,#endif};
最后别忘了实现right:
方法:
- (void)right:(id)sender{ NSLog(@"rightBarButtonItem");}
自定义文字的UIBarButtonItem
在文章关于导航栏的六个小技巧的第五个技巧里面有自定义rightBarButtonItem
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
UIBarButtonItemStyle有以下三种选择:
typedef NS_ENUM(NSInteger, UIBarButtonItemStyle) { UIBarButtonItemStylePlain, UIBarButtonItemStyleBordered NS_ENUM_DEPRECATED_IOS(2_0, 8_0, "Use UIBarButtonItemStylePlain when minimum deployment target is iOS7 or later"), UIBarButtonItemStyleDone,};
实现back:
方法:
- (void)back:(id)sender{ [self.navigationController popViewControllerAnimated:YES];}
自定义照片的UIBarButtonItem
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"test"] style:UIBarButtonItemStylePlain target:self action:@selector(right:)];
自定义UIView的UIBarButtonItem
自定义UIView
,然后通过initWithCustomView:
方法来创建UIBarButtonItem
。
UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 60)];self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:testView];
0 0
- 自定义导航按钮UIBarButtonItem
- 自定义导航按钮UIBarButtonItem
- 自定义导航按钮UIBarButtonItem
- 自定义导航按钮UIBarButtonItem
- 自定义导航栏按钮UIBarButtonItem 文字或图片
- 自定义导航栏按钮UIBarButtonItem 文字或图片
- 自定义导航栏按钮UIBarButtonItem 文字或图片
- 自定义导航栏按钮UIBarButtonItem 文字或图片
- iOS之自定义导航按钮UIBarButtonItem的样式
- 自定义导航栏按钮UIBarButtonItem 文字或图片
- 自定义导航栏按钮UIBarButtonItem 文字或图片(定制)
- UIBarButtonItem导航条按钮封装
- IOS-9-UIBarButtonItem导航条-添加自定义Left或者Right按钮
- UIBarButtonItem-添加自定义Left或者Right按钮
- UIBarButtonItem按钮
- IOS开发(10)UIBarButtonItem导航栏添加按钮
- UIBarButtonItem类目-返回一个有图片的导航栏按钮
- DataGrid自定义导航按钮
- [leetcode-72]Edit Distance(C)
- Cpp的队列(Queue)学习笔记
- freemarker格式化
- clistbox获取选中值,同时打开iexplore
- EMS不用,用SSD云盘,意义在哪里?
- 自定义导航按钮UIBarButtonItem
- Android屏幕适配全攻略(最权威的官方适配指导)
- 仿写Scanner类的功能代码
- Nmap的nmap_mass_rdns函数开始支持IPv6地址
- 华为软件编程规范和范例 1 ——排版和注释
- Android 谷歌 开源 通信框架 VOLLEY(一)
- Lua文件操作和串行化
- Collections类方法详解
- 逻辑与 按位与 逻辑或 按位或 逻辑非 按位非