Как упоминалось в @trungduc, после того, как вы вернетесь к контроллеру представления, появится подпредставление _UINavigationBarContentView, для которого будет включен clipsToBounds, и, следовательно, titleView будет отрезан независимо от того, что.

у поместить изображение в середине панели навигации, которая больше, чем сама панель. До сих пор я пытался использовать UIView с UIImageView внутри, и он работает довольно хорошо, как вы можете видеть здесь:

Однако, как только я нажимаю на другой контроллер и возвращаюсь назад, мой ImageView снова обрезается до размера панели навигации.

Любые идеи о том, как предотвратить обрезку?

Мой код пока для iOS 11:

override func viewDidLoad() {
    super.viewDidLoad()

    let logo = UIImage(named: "Logo")
    let titleView = UIView(frame: CGRect(x: 0, y: 0, width: 60, height: 60))
    let imageView = UIImageView(image: logo)
    imageView.frame = CGRect(x: 0, y: 0, width: titleView.frame.width, height: titleView.frame.height)
    titleView.addSubview(imageView)
    imageView.contentMode = .scaleAspectFit
    imageView.image = logo
    navigationItem.titleView = titleView
}

Редактировать: В настоящее время естьвременное решение который использует наблюдатель, чтобы перезаписать свойство clipsToBounds вида, вызывающего проблему:Ссылка (кричите @trungduc для этого)

Ответы на вопрос(3)

Ваш ответ на вопрос