iOS - 关于导航两侧按钮距离左右侧边距的修改
2016-09-19 09:52
956 查看
原文链接:http://www.jianshu.com/p/5c74dfc94deb
UI界面的完美是一个好的产品的前提条件,最近开发在设置导航上左侧右侧的barbuttonItem 的时候由于设计想要距离左右有10的边距但是在更改customview的button的frame始终不起作用后来看下了关navigationItem的东西,从5.0以后系统多了两个属性,leftBarButtonItems和rightBarButtonItems两个数组类型的属性,也就是可以添加多个导航按钮,注意下api中提到的两点重要的:
leftBarButtonItems are placed in the navigation bar left to right
with the first
item in the list at the left outside edge and left aligned.
rightBarButtonItems are placed right to left with the first item in the list at
the right outside edge and right aligned.
左侧的是从左到右边按照数组里的次序、右侧是从右向左 也就是说数组中的第一个放最右边,左侧的数组中的是第一个放最左边
补充:导航控制器两侧的按钮颜色
self.navigationController.navigationBar.tintColor
= [UIColorwhiteColor];**
UI界面的完美是一个好的产品的前提条件,最近开发在设置导航上左侧右侧的barbuttonItem 的时候由于设计想要距离左右有10的边距但是在更改customview的button的frame始终不起作用后来看下了关navigationItem的东西,从5.0以后系统多了两个属性,leftBarButtonItems和rightBarButtonItems两个数组类型的属性,也就是可以添加多个导航按钮,注意下api中提到的两点重要的:
leftBarButtonItems are placed in the navigation bar left to right
with the first
item in the list at the left outside edge and left aligned.
rightBarButtonItems are placed right to left with the first item in the list at
the right outside edge and right aligned.
左侧的是从左到右边按照数组里的次序、右侧是从右向左 也就是说数组中的第一个放最右边,左侧的数组中的是第一个放最左边
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame= CGRectMake(0, 0, 40, 44); [btn addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *btn_right = [[UIBarButtonItem alloc] initWithCustomView:btn]; UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; /** width为负数时,相当于btn向右移动width数值个像素,由于按钮本身和 边界间距为5pix,所以width设为-5时,间距正好调整为0;width为正数 时,正好相反,相当于往左移动width数值个像素 */ negativeSpacer.width = -5; self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:negativeSpacer, btn_right, nil];
补充:导航控制器两侧的按钮颜色
self.navigationController.navigationBar.tintColor
= [UIColorwhiteColor];**
相关文章推荐
- iOS开发关于适配iOS10以及Xcode8的相关新知识
- iOS开发关于适配iOS10以及Xcode8的相关新知识
- iOS10推送报错NSCocoaErrorDomain Code=3000
- iOS10适配问题
- KVO的实现原理分析
- iOS10权限privacy-sensitive data崩溃
- iOS CoreData 增删改查详解
- IOS 程序启动原理详解
- 属性字符串NSMutableAttributedString使用例子 -- iOS开发
- iOS 开发常见问题整理
- iOS开发常用宏定义
- 更新 Xcode 8 遇到的bug
- IOS--- NavigationBar标题按钮
- iOS——NSTimer的使用,计时器的简单创建
- 在iOS开发中,在视频初始状态时获取视频的第一帧图片
- iOS-RunLoop充满灵性的死循环
- iOS - Core Animation 核心动画
- iOS - Core Animation 核心动画的使用
- iOS10+x-code8 个人踩坑
- iOS10推送通知开发教程