(0027)iOS 开发之调整导航条上BarButtonItem与屏幕边界的间距
我们发现,在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置CustomView的frame,添加到导航条上之后总是和屏幕边界有一定的间距(5pix),如何自由调整这个间距呢?
初始化一个用于控制间距的UIBarButtonItem实例negativeSpacer,并设置negativeSpacer的width属性的值,设为-5的时候,正好可以使按钮与屏幕边界值为0,以rightBarButtonItem情况为例
_rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
_rightBtn.frame = CGRectMake(0, 0,60, 40);
_rightBtn.titleLabel.font = [UIFont systemFontOfSize:14.f];
[_rightBtn setTitleColor:hexColor(808080) forState:UIControlStateNormal];
[_rightBtn setTitle:@"全部已读" forState:UIControlStateNormal];
[_rightBtn addTarget:self action:@selector(clearAllUnreadMessage) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc]initWithCustomView:_rightBtn];
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
// width为负数时,相当于btn向右移动width数值个像素,由于按钮本身和边界间距为5pix,所以width设为-5时,间距正好调整
// 为0;width为正数时,正好相反,相当于往左移动width数值个像素
negativeSpacer.width = -10;
self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:negativeSpacer, rightBarItem, nil];
(0027)iOS 开发之调整导航条上BarButtonItem与屏幕边界的间距相关推荐
- iOS分享短信导航条上白色,无取消按钮,无法返回应用
为什么80%的码农都做不了架构师?>>> 在使用第三方分享,分享到短信进入短信界面,不显示新信息和取消的字样,导致无法返回原应用. 如果出现此种情况,请检查你是否使用了FDFu ...
- iOS 发现导航条上按钮的一个bug
0x00 自定义 导航条上的按钮,可以通过自定义视图的方式来创建 然而,有趣的事情发生了- 测试环境: Xcode: Version 11.7 (11E801a) 真机 0x01 通过 UIButto ...
- IOS开发UI篇—导航控制器属性和基本使用
IOS开发UI篇-导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController ...
- iOS 修改状态栏、导航条颜色及文字颜色
在开发过程中,我们总是遇到这样那样的特殊要求,比如在指定页面展示特殊的样式,完全异于整个app的风格,为此有很多办法解决,今天我来记录其中一种,我们互相学习交流.如有不妥还请指正,如有更好的方案,欢迎 ...
- ios开发之使用多文件上传的简单封装最原始的
ios开发之使用多文件上传的简单封装最原始的 // // ViewController.m // 18-上传多个文件 // // Created by 鲁军 on 2021/2/13. //#impo ...
- IOS开发基础之单文件上传基础最原始的方式
IOS开发基础之单文件上传基础最原始的方式 info.plist 加入一行代码 <key>NSAppTransportSecurity</key><dict>< ...
- VS 2015 开发Android底部导航条----[实例代码,多图]
1.废话背景介绍 在Build 2016开发者大会上,微软宣布,Xamarin将被整合进所有版本的Visual Studio之中. 这也就是说,Xamarin将免费提供给所有购买了Visual St ...
- iOS开发基础-常用组件(上)
目录 1.UILabel 2.UIScrollView(滚动视图) 3.UINavigationController(导航控制器) 4.UITableView(表格) 5.UIImageView(图像 ...
- iOS开发中隐藏导航栏的分割线
iOS开发中经常会遇到需要隐藏导航栏的分割线的需求,之前已经有两种方法 方法一 直接设置navigationBar的ShadowImage和BackgroundImag,这样做可以一劳永逸,在当前导航 ...
最新文章
- 3D 激光雷达地图相对精度自动评价算法
- 入门NLP、实现语音识别和语音合成,用这个开源工具SoEasy | 英伟达NLP公开课
- placeholder在IE8中兼容性问题解决
- [zz]从HDFS看分布式文件系统的设计需求
- elementary OS下netbeans中文乱码的问题
- 余凯:不做AI芯片,如何改变世界? | 变局者
- 我就不信发不出去,工 作 时候用的,来啊=》模板下载
- 【JAVA】线程安全的案例
- VideoPlayer播放组件详解-Unity使用官方组件播放视频
- linux下用impdp导入dmp文件
- 【python中级】 获取系统的局域网ip地址
- pandas 按列 tolist
- 移动智能终端PIN码破解
- 【游戏开发小技】Unity中实现Dota里的角色技能地面贴花效果(URP | ShaderGraph | Decal)
- 一些版本管理常用的文档链接
- 【计算机网络】计算机网络
- 【Android】图像像素点理解
- php 读取 excel 文件并上传数据库
- 安装win10系统的详细步骤
- Audio标签常用属性