iOS导航栏自定义按钮导致点击范围过大的问题
2017-05-09 16:50
337 查看
在很多App设计中导航栏左侧/右侧都会被设计成图标。
我们通常是采用创建一个按钮的方式:
这样就给导航栏左侧设置了一个图标按钮。
但是也伴随着一个问题:
![](http://img.blog.csdn.net/20170509164657801?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzI2NjcyNTUz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
这个按钮的可点击范围是不是也忒大了?
解决:给
我们通常是采用创建一个按钮的方式:
// 创建按钮 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setImage:[UIImage imageNamed:@"nav_item_game_icon"] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"nav_item_game_click_icon"] forState:UIControlStateHighlighted]; [btn sizeToFit]; // 设置导航栏左边按钮 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
这样就给导航栏左侧设置了一个图标按钮。
但是也伴随着一个问题:
这个按钮的可点击范围是不是也忒大了?
解决:给
UIButton包装一个
UIView
// 创建按钮 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setImage:[UIImage imageNamed:@"nav_item_game_icon"] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"nav_item_game_click_icon"] forState:UIControlStateHighlighted]; [btn sizeToFit]; // 把UIButton包装成UIBarButtonItem 有会按钮点击范围过大的问题 // 解决这个问题 UIView *containView = [[UIView alloc] initWithFrame:btn.bounds]; [containView addSubview:btn]; // 设置导航栏左边按钮 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:containView];
相关文章推荐
- 解决 ios7.0 以后自定义导航栏左边按钮靠右的问题
- iOS开发问题----自定义导航栏点击范围扩展
- iOS中自定义导航栏左边返回按钮和按钮不能靠左的问题
- iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的问题
- 解决 ios7.0 以后自定义导航栏左边按钮靠右的问题
- iOS中自定义导航栏左边返回按钮和按钮不能靠左的问题
- IOS中自定义返回按钮点击事件响应视图过大解决办法
- iOS11导航栏自定义按钮偏移问题
- IOS 页面跳转问题:点击按钮页面不跳转
- 高德 ios 自定义气泡添加点击事件无效问题
- iOS 7 自定义Back按钮 与 Pop interactive gesture 问题
- iOS 自定义返回按钮错位问题(备忘)
- iOS 自定义UITableViewCell上添加UIButton按钮如何确定点击了哪一行,代码块实现
- 解决:防止页面按钮被重复点击,导致页面重复提交的问题
- ios tableView 自定义cell上的按钮点击事件不好用
- 自定义封装导航栏左右按钮点击事件和特定风格的控制器供多个控制器继承—— 当很多导航页面有相似的导航条时
- iOS之a按钮重复点击的问题、cell重复点击的问题
- iOS中防止多个按钮同时点击出现的问题
- iOS Object-C 响应者链实现cell中的按钮点击后,导航栏push新的界面
- android 自定义ListView 使其带单选框按钮,并解决item点击不响应的问题