iOS开发问题----自定义导航栏点击范围扩展
来源:互联网 发布:跨语言大数据平台译见 编辑:程序博客网 时间:2024/06/01 08:58
在iOS开发中往往需要自定义导航栏的返回按钮,而一般采取的策略一般都是,先创建一个按钮,附上想要贴上的图片,然后设置大小,在添加点击事件,然后在创建一个UIBarButtonItem 将item设置成自定义位图模式,将先前创建的按钮赋值进去,这样一个自定义的按钮就贴上去了,有的时候还会根据图片的样式适度的调整图片在按钮里面的布局。但是有的时候需求需要我们将这个按钮的可点击范围放大,如果说向右侧扩大,这个问题不大,但是向左侧,就有问题,因为替换原先系统的返回按钮之后,他的位置就已经定了。无论做出怎样的调整,是变化frame大小也好,改变布局方式也罢,返回按钮的左侧都已经定死,难动分毫。那么可以采取如下策略,将左侧位置用UIBarButtonItem以适应填充的方式填充。
UIButton *button = [[UIButtonalloc] initWithFrame:CGRectMake(0,0, 80,44)];
[button setImage:[UIImageimageNamed:@"arrow_left"] forState:UIControlStateNormal]; //设置自定义返回图片
[button setTitle:@""forState:UIControlStateNormal];
[button setTitleColor:[UIColorwhiteColor] forState:UIControlStateNormal];
button.titleLabel.font = [UIFontsystemFontOfSize:17];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, -32, 0, 0)]; //调整按钮内图片的布局
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -10, 0, 0)];
[button addTarget:selfaction:@selector(backView)forControlEvents:UIControlEventTouchUpInside];
self.navigationController.navigationBar.translucent = NO;
UIBarButtonItem *space = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];
space.width = -20;
UIBarButtonItem *backButtonItem = [[UIBarButtonItemalloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItems =@[space, backButtonItem];
- iOS开发问题----自定义导航栏点击范围扩展
- iOS导航栏自定义按钮导致点击范围过大的问题
- ios开发---自定义导航栏
- IOS 自定义button有效点击范围
- iOS开发 自定义导航栏按钮
- iOS自定义导航栏
- iOS自定义导航栏
- iOS 自定义导航栏
- iOS开发导航栏黑线问题
- iOS减小导航栏button响应范围
- iOS 导航栏自定义 TitleView不居中的问题
- 自定义导航栏返回按钮点击事件
- IOS开发—自定义导航控制器
- iOS开发问题----UISearchBarController跳转导航栏闪烁问题
- IOS 自定义导航栏背景
- ios学习(自定义导航栏)
- 【iOS】自定义导航栏(一)
- 【iOS】自定义导航栏(二)
- iOS_正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等
- python 字典(dict)用for遍历
- 求数组(元素可为正数、负数、0)的最大子序列和
- sdut oj2138 图结构练习——BFSDFS——判断可达性
- 测试一下准备建立自己的博客
- iOS开发问题----自定义导航栏点击范围扩展
- iOS开发数据库篇—SQLite的应用
- cordova安装步骤
- 分页总结
- 周志华 《机器学习》之 第六章(支持向量机)概念总结
- php composer.phar install error The openssl extension is required for SSL/TLS protection
- Android 之 Window、WindowManager 与窗口管理
- Gearman使用Redis 做数据持久化
- tomcat配置虚拟目录