调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
来源:互联网 发布:网络监控安装步骤图解 编辑:程序博客网 时间:2024/05/01 12:21
我们发现,在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置CustomView的frame,添加到导航条上之后总是和屏幕边界有一定的间距(5pix),如何自由调整这个间距呢?
方法一:
考虑到CustomView一般为UIButton,如果该按钮上面是一个图片,仅为了显示效果,我们可以通过setImage: forState:方法设置button的背景图片(注意这里不是setBackgroundImage: forState:),然后通过setImageEdgeInsets:方法设置按钮图片和按钮各个边界的距离即可。按钮为文字的情况类似,对应的方法是setTitle: forState:和setTitleEdgeInsets:
方法二:
初始化一个用于控制间距的UIBarButtonItem实例negativeSpacer,并设置negativeSpacer的width属性的值,设为-5的时候,正好可以使按钮与屏幕边界值为0,以rightBarButtonItem情况为例
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; /** * 设置frame只能控制按钮的大小 */ 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]; [btn_right release];
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界 或者与titleView 的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界
- (0027)iOS 开发之调整导航条上BarButtonItem与屏幕边界的间距
- iOS系统导航栏设置leftBarButtonItem和rightBarButtonItem的位置
- IOS中设置navigationItem的leftBarButtonItem或rightBarButtonItem与边界距离
- navigationItem的leftBarButtonItem和rightBarButtonItem隐藏
- backBarButtonItem与leftBarButtonItem、rightBarButtonItem
- iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法
- iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法
- iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法
- iOS导航BarButtonItem文字或者图片与屏幕边界的间隔调整方法
- lua的函数的环境和变量
- have a look!
- 《干货集锦》——前端大牛 Addy Osmani 的15个精彩PPT
- Linux平台代码覆盖率测试工具gcov简介
- 点滴记录--递归
- 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距
- 15个HTML5的初级技巧
- addslashes与mysql_real_escape_string的区别
- 程序员学习能力提升三要素
- Eclipse/MyEclipse 快捷键
- 移动应用软件开发--人员角色定位和分工
- 一个苦逼的时期!
- Android Download: unexpected end of stream
- 自动化测试角色分工