Приложение прекрасно работает с любыми другими устройствами, кроме iPhone 4s.Я использовал экранный отладчик, и я вижу, что его позиция y увеличивается, но я понятия не имею, почему.
Вот фрагмент кода, я вызываю configureNavigationBarWithTitle()
из viewDidLoad()
метода.
func configureNavigationBarWithTitle(title: String, shouldDisplayHomeButton: Bool = false) {
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationItem.titleView = UIView.createNavigationTitleView(title: title)
self.navigationItem.leftBarButtonItem = UIBarButtonItem.createAZBackButton(target: self)
self.navigationItem.leftBarButtonItem?.action = #selector(navigateBack(sender:))
if shouldDisplayHomeButton {
self.navigationItem.rightBarButtonItem = UIBarButtonItem.createAZHomeButton(target: self)
self.navigationItem.rightBarButtonItem?.action = #selector(navigateToRoot(sender:))
}
}
extension UIBarButtonItem {
static func createAZBackButton(target: Any?) -> UIBarButtonItem {
let img = UIImage(named: "back")
let button = UIBarButtonItem(image: img, style: .plain, target: target, action: nil)
button.title = ""
button.tintColor = UIColor.white
button.setBackgroundVerticalPositionAdjustment(0, for: .default)
return button
}
static func createAZHomeButton(target: Any?) -> UIBarButtonItem {
let img = UIImage(named: "home")
let button = UIBarButtonItem(image: img, style: .plain, target: target, action: nil)
button.title = ""
button.tintColor = UIColor.white
button.setBackgroundVerticalPositionAdjustment(0, for: .default)
return button
}