• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iOS - 导航项中的 UIBarButtonItem 角间距

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:21:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在以编程方式在 UINavigationItem 中创建 RightBarButtonItem。 使用这个简单的代码

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[backButton setImage:[UIImage imageNamed"concate_back_icon.png"] forState:UIControlStateNormal];
[backButton addTarget:self actionselector(backButtonClicked forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

产生正确的结果,但有一个问题,底部和屏幕角之间的空间很小,我不想要。

1st image

为此,我在按钮图像中添加间距,使用边缘插图

[backButton setImageEdgeInsets:UIEdgeInsetsMake(0, -10, 0,10)];

这给了我很好的视觉效果,但可点击区域保持不变,因此用户大部分时间都错过了点击。

Image 2

现在我被困在这里了。 请让我知道是否有其他方法可以更改条形按钮项的角空间。 我必须坚持使用 navigationItem。



Best Answer-推荐答案


只需尝试根据您的期望将右边缘插图设置为 barbutton。这个对我有用。如果您遇到问题,请告诉我。谢谢。

let rightBarButton = UIButton(type: .custom)
rightBarButton.setImage(UIImage.init(named: "Settings"), for: .normal)
rightBarButton.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
rightBarButton.addTarget(self, action: #selector(someAction), for: .touchUpInside)
rightBarButton.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -30.0) // Right edge insets
let rightBar = UIBarButtonItem(customView: rightBarButton)
self.navigationItem.rightBarButtonItem  = rightBar

关于iOS - 导航项中的 UIBarButtonItem 角间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51318149/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap