我正在以编程方式在 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];
产生正确的结果,但有一个问题,底部和屏幕角之间的空间很小,我不想要。
为此,我在按钮图像中添加间距,使用边缘插图
[backButton setImageEdgeInsets:UIEdgeInsetsMake(0, -10, 0,10)];
这给了我很好的视觉效果,但可点击区域保持不变,因此用户大部分时间都错过了点击。
现在我被困在这里了。 请让我知道是否有其他方法可以更改条形按钮项的角空间。 我必须坚持使用 navigationItem。
只需尝试根据您的期望将右边缘插图设置为 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |