Элемент кнопки панели навигации iPhone 4s отключается при представлении таблицы действий - PullRequest
0 голосов
/ 20 октября 2018

iPhone 4s issue

Приложение прекрасно работает с любыми другими устройствами, кроме 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
}
...