如何解决导航栏后退按钮图像与屏幕边缘对齐
有人知道我如何将后退按钮图像移动到屏幕边缘吗?
这是现在的样子:
这就是我想要的样子:
解决方法
尝试更改其插图:
self.navigationController?.navigationBar.backItem?.backBarButtonItem?.imageInsets = UIEdgeInsets(top: 0,left: -12,bottom: 0,right: 12)
并找到将其右移到边缘的值。
,如果将自定义视图添加为按钮并添加为leftBarButtonItem
,则该视图将始终采用该视图的默认x(框架的起始位置)位置,这是为导航栏项目定义的。您可以添加类似这样的东西以获得所需的输出:
class AnotherViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
addBackButton()
}
func addBackButton() {
let containerView = UIView(frame: CGRect(origin: .zero,size: CGSize(width: 200,height: 50)))
let btnBack = UIButton(frame: CGRect(x: -25,y: 0,width: 45,height: 45))
btnBack.setImage(UIImage(named: "dark_ic_back.png")?.withRenderingMode(.alwaysTemplate),for: .normal)
btnBack.tintColor = .black
btnBack.addTarget(self,action: #selector(self.backAction(_:)),for: .touchUpInside)
containerView.addSubview(btnBack)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: containerView)
}
@objc func backAction(_ sender: UIButton) {
self.navigationController?.popViewController(animated: true)
}
}
输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。