导航栏NavigationBar的按钮设置
有时候在自定义navigationBar的左右按钮的时候,button的图片会显得很大,个人感觉原因有以下几种情况:
1、使用的是UIButton直接加在navigationBar上面
2、自定义了一个UIView,顶替系统的NavigationBar,button的frame值设置有问题。
如果是第一种情况解决方法如下:
//左边城市选择
UIButton *LButton =[UIButton buttonWithType:UIButtonTypeCustom];
LButton.frame = CGRectMake(0, 0, 40, 30);
LButton.imageEdgeInsets= UIEdgeInsetsMake(0, 20, 0, 0);
[LButton setTitle:@"长沙" forState:UIControlStateNormal];
LButton.titleLabel.font = [UIFont systemFontOfSize:15.0f];
UIBarButtonItem *leftButton=[[UIBarButtonItem alloc]initWithCustomView:LButton];
self.navigationItem.leftBarButtonItem = leftButton;
// 右边search按钮
UIButton *RButton =[UIButton buttonWithType:UIButtonTypeCustom];
RButton.frame = CGRectMake(0, 0, 40, 30);
[RButton setImage:[UIImage imageNamed:@"search"] forState:UIControlStateNormal];
UIBarButtonItem *rightButton=[[UIBarButtonItem alloc]initWithCustomView:RButton];
self.navigationItem.rightBarButtonItem = rightButton;
针对第二种情况:
如果只是想获取系统的按钮的话, 因为 navigation bar
上的按钮是 UIBarButtonItem
类的, 所以位置和大小是按内容自动生成的, 获取时也需要通过UIEvent
获取. 例如:
- (void)myButtonPressed:(UIBarButtonItem *)button event:(UIEvent *)event
{
NSLog(@"%@", [event.allTouches.anyObject view]);
}
输出:
UINavigationButton: 0x71cf400; frame = (281 7; 34 30); opaque = NO; layer = <CALayer: 0x718e950>
(这是一个位于navigation bar
右侧使用了refresh
系统图标的按钮)
导航栏NavigationBar的按钮设置的更多相关文章
- iOS导航栏NavigationBar的颜色,按钮和标题以及字体颜色
首先,层级关系: leftBarButtonItem.rightBarButtonItem.title都是加在UINavigationItem上的,UINavigationItem再加在Navigat ...
- iOS 设置导航栏之二(设置导航栏的颜色、文字的颜色、左边按钮的文字及颜色)
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicati ...
- iOS学习——更改导航栏的返回按钮的标题与颜色
转载自:修改navigationController返回按钮颜色和文字 今天在做项目时遇到这个问题,试了很多方法都失败了.最后终于找到正确的方案了,在这里分享给大家. 引言 在iOS开发过程中,Nav ...
- OC导航栏自定义返回按钮
[iOS]让我们一次性解决导航栏的所有问题 在默认情况下,导航栏返回按钮长这个样子 导航栏默认返回按钮 导航栏左上角的返回按钮,其文本默认为上一个ViewController的标题,如果上一个Vi ...
- Android 修改底部导航栏navigationbar的颜色
Android 修改底部导航栏navigationbar的颜色 getWindow().setNavigationBarColor(Color.BLUE); //写法一 getWindow().set ...
- 小程序开发-页面导航栏navigation-bar组件
导航栏navigation-bar 页面导航条配置节点,用于指定导航栏的一些属性.只能是 page-meta 组件内的第一个节点,需要配合它一同使用. 通过这个节点可以获得类似于调用 wx.setNa ...
- ios 实现自定义状态栏StatusBar 和 导航栏navigationBar 的状态和颜色
很多app中可以看到不同与导航栏的状态栏的颜色,他妈的真绕嘴. 一.更改状态栏颜色 (StatusBar) 就是比如导航栏是红色的状态栏是绿色的. 要实现这样的效果其实很简单,就是添加一个背景view ...
- Android 检查设备是否存在 导航栏 NavigationBar
尊重原创.尊重作者,转载请标明出处: http://blog.csdn.net/lnb333666/article/details/41821149 目前也没有可靠的方法来检查设备上是否有导航栏.可以 ...
- Ecshop导航栏标题栏的伪静态设置
当Ecshop的伪静设置成功之后,左侧的分类标签,包括具体的产品页面都可以顺利的打开伪静态页面,但是点击导航栏,或者标题栏的时候,却还是之前的数据库标签页的方式,这是怎么一回事呢? 这是由于,Ecsh ...
随机推荐
- UNIX和linux系统性能监控工具oswatcher
可以在一台机器上运行oswatcher.把运行的结果拷贝到有vnc的机器上进行分析.java -jar oswbba.jar -i /mnt/hgfs/database/oswbb/archive . ...
- SAP人工智能服务Recast.AI的一个简单例子
关于这个例子的完整介绍,请参考公众号 "汪子熙"的两篇文章: SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例 和使用Recast.AI创建具有人工智能的 ...
- selenium 截图加上时间戳
思路: 1 新建screenshot文件夹,不存在则创建该目录 2 在screenshot文件夹下新建当日日期文件夹,比如20190110:不存在则创建该目录 3 截图保存到当日文件夹,且截图文 ...
- 理解Underscore中的节流函数
上一篇中讲解了Underscore中的去抖函数(_.debounced),这一篇就来介绍节流函数(_.throttled). 经过上一篇文章,我相信很多人都已经了解了去抖和节流的概念.去抖,在一段连续 ...
- 鉴定JavaScript中的数据类型
众所周知,JavaScript是一门弱类型的语言,但是这并不代表JavaScript中没有数据类型.JavaScript中常见的数据类型有string.number.object等等,通常我们使用ty ...
- JAVA中commons-collections-3.2.1.jar包是干什么用的?
类似C++中的Boost库,对Java容器类型和算法的补充
- Android进阶笔记16:onInterceptTouchEvent、onTouchEvent与onTouch
1. onTouch方法:onTouch方法是View的 OnTouchListener借口中定义的方法,处理View及其子类被touch是的事件处理.当一个View绑定了OnTouchLister后 ...
- IntelliJ IDEA自动补全变量名称和属性名称的快捷键
自动补全变量名称 : Ctrl + Alt + v 自动补全属性名称 : Ctrl + Alt + f
- 关于Hibernate多对多关联关系的更新问题。
一个账套类Reckoning和账套项目类 AccountItem.这两个类是双向多对多关联关系. Reckoning.hbm.xml文件的配置如下 <set name="account ...
- python date,datetime 和time的区别
这是三个不同类型的数据,例如 2015-11-21 10:51:20: date是日期,表示的是 2015-11-21: datetime是日期时间,表示的是 2015-11-21 10:51:20: ...