NavigationItem 点击范围更改

NavigationItem的点击范围很大,有时候会影响到附近区域点击事件,所以需要缩小点击范围,可采用如下方式定义点击范围

文/5ad3532817df(简书作者)
原文链接:http://www.jianshu.com/p/9c0dc91a3cf5
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

UIButton*button = [UIButtonbuttonWithType:UIButtonTypeCustom];

[buttonsetTitleEdgeInsets:insets];

[buttonsetFrame:CGRectMake(0,0,44,30)];

[buttonaddTarget:selfaction:actionforControlEvents:UIControlEventTouchUpInside];

[buttonsetTitle:textforState:UIControlStateNormal];

button.titleLabel.font= [UIFontsystemFontOfSize:14.0f];

[buttonsetTitleColor:[UIColorgrayColor]forState:UIControlStateNormal];

[buttonsetTitleColor:[UIColorhexStringToColor:@"808080"]forState:UIControlStateHighlighted];

[buttonsizeToFit];

[buttonsetFrame:CGRectMake(0,0, button.width+5,24)];

UIView*backBtnView = [[UIViewalloc]initWithFrame:button.bounds];

backBtnView.bounds=CGRectOffset(backBtnView.bounds,0,0);

[backBtnViewaddSubview:button];

时间: 2024-12-06 12:16:35

NavigationItem 点击范围更改的相关文章

echarts2.* tree树形图节点点击事件和节点点击图标更改

做项目用到echarts2.2.7版本做树图,遇到点击树图节点更改样式,百度.谷歌搜索后均没找到解决方案.后来苦苦探索,终于找到解决入口,特地分享给大家以供参考,吐槽一下echarts的api真的没有highcharts人性化和易找.   //贴出关键点!     function clickFun(param) {         // console.log(param);         console.log(param);         param.data.symbol = 'im

js 点击动画更改元素的高度和元素的文本内容

动画效果兼容各大标准浏览器和 IE 5-11 版本 js 代码如下: $(".tc>span>a").click(function () { if ($(this)[0].innerText == "更多课程>>"){ $(".tc>div>ul").stop().delay(50).animate({height:1604},500); $(this)[0].innerText = "<<

仿美团外卖,饿了吗 两个ListView联动,左边点击切换右边,右边滑动切换左边

先上效果图: 实现思路: 1.先说右边标题: 首先,右边的数据源集合中的Javabean中含有三个属性name,type,title,而每个条目中会默认含有一个标题. 如果这是第一个条目,就让标题显示出来,再如果这个条目的类型和上一个条目的类型不一样,就让这个条目的标题显示出来,否则,就隐藏标题,  这样我们就做到了每种类型只有第一个数据标题显示出来 接着,在Listview的外层(也就是MainActivity的布局文件中),默认放一个标题(下面都称作是主标题) 最后,设置右边Listview

【JavaScript】轻松更改网页背景与字体的颜色

JavaScript,通过点击按钮更改网页背景与字体的颜色,网页中有N个改变颜色的按钮,点击不同的按钮,网页的字体与背景就会改变成不同的颜色.很简单的JavaScript小程序. 一.基本目标 一打开网页首先提示问候信息"你好" 网页中有N个改变颜色的按钮,其中返回是返回网页的默认颜色,背景是白的,字体是黑的 点击不同的按钮,网页的字体与背景就会改变成不同的颜色. 本来想做出彩虹起色的,但原理完全一样就不多写按钮了. 二.基本思想 关键是对body标签与字体js提供id,使其在js中得

用户通过WEB方式更改AD域帐户密码

用户改自己的域帐户密码一般通过以下几种方式: 加域的PC,用户直接按:Ctrl+Alt+Del键,点击:更改密码 通过exchange owa更改密码 让管理员重置密码 除了以上方式外,很多企业通过开发使用终端用户通过网页登录指定的地址来直接更改密码.今天我给大家分享是也是这种方式,但这个是完全免费的,而且搭建也是比较容易的. 以下是搭建的过程: 搭建所需条件: 加域的服务器,可以是win server 2008 R2或者Win server 2012 R2 安装IIS组件 以下是操作流程: 增

iOS更改项目名称图文教程

在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.直接改项目名吧,XCODE又不会帮你改所有的名字.总是有很多文件.文件夹或者是项目设置的项.而且都是不能随便改的,有时候改着改着,编译不了.所以各位重命名项目时,记得先备份好一份噢.本文我会介绍一种方法,是我自己参考了很多资料得出的总结. 为什么说是完整呢?因为改名之后,你不会再看到任何有关于之前的项目名字. 本文会把一个项目名叫"test233333333"改成"test". 1)打开项目: 以上是目前的

如何更改 Mac OS X 系统默认用户名?

有用户问如何更改 Mac OS X 系统默认用户名?更改Mac OS X系统默认用户名需要在系统偏好设置,具体操作步骤跟小编一起来看看吧. Mac用户名怎么修改? 点击左上角的小苹果,打开系统偏好设置,操作步骤如下: 点击用户与群组. 点击左下角的金色锁子图标,输入密码(没有则留空),点击解锁. 在现在的用户名上右键,点击高级选项... 更改用户名称,点击好. 再次点击金色锁子图标锁定更改. 如何更改Mac系统用户名?其实非常的简单,按照上方的步骤即可修改成功,更多的Mac精彩教程,请关注mac

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信

Windows 10 之修改登录背景(Win10BGChanger)

默认情况,用户无法直接修改Windows 10的登录背景,但用户还是可以利用第三方的工具(W10 Logon BG Changer)来修改.(软件下载地址见附件) 下载后,解压缩,然后以管理权限运行GUI文件夹下的W10 Logon BG Changer程序,出现如下界面: 在窗口右侧编辑背景下选择本地背景,或者选择其它颜色作为背景. 还可以设置图像缩放. 选择完成后,点击应用更改即可. 同时,还可以恢复默认值恢复原来界面. 注意:如果运行此程序时,出现"在执行程序时出现错误",这有可