我使用自定义图像作为导航 Controller 的后退按钮,但问题是该图像未与标题和右侧按钮项正确对齐。我一直试图将后退按钮向下移动几个像素,但没有成功。
extension UINavigationController {
func addBackButton() {
let imgBack = UIImage(named: "ic_back")
navigationBar.backIndicatorImage = imgBack
navigationBar.backIndicatorTransitionMaskImage = imgBack
navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "",
style: .plain,
target: self,
action: nil)
}
}
这就是现在的样子:
如您所见,我需要将后退按钮向下移动一点,任何帮助将不胜感激。
最佳答案
这是我的自定义后退按钮的代码。我在 viewDidLoad() 上添加了下图。也许您需要用图像测试如何正确调整其大小。您可以删除带有标签的部分。
let backButtonView = UIView(frame: CGRect(x: 0, y: 0, width: 60, height: 44))
let imageView = UIImageView(image: UIImage(named: "back-arrow"))
imageView.frame = CGRect(x: -5, y: 11, width: 12, height: 22)
imageView.image = imageView.image!.withRenderingMode(.alwaysTemplate)
imageView.tintColor = .blue
let label = UILabel(frame: CGRect(x: 10, y: 0, width: 40, height: 44))
label.textColor = .blue
label.text = "Back"
backButtonView.addSubview(imageView)
backButtonView.addSubview(label)
backButtonView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(backButtonClicked)))
let barButton = UIBarButtonItem(customView: backButtonView)
navigationItem.leftBarButtonItem = barButton
关于ios - 调整自定义导航后退按钮的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857833/