Добавить UIImage ниже UINavigationBar внизу Swift

#swift #uiimage #uinavigationbar

#swift #uiimage #uinavigationbar

Вопрос:

Я хотел бы добавить UIImage под моей панелью навигации.

введите описание изображения здесь

Пока что мой код:

 let imageView = UIImageView(frame: CGRect(x: 0, y: 150, width: 38, height: 38))
imageView.contentMode = .ScaleAspectFit
let image = UIImage(named: "logo.png")
imageView.image = image
navigationItem.titleView = imageView
  

Логотип по-прежнему находится в середине панели навигации, а не ниже

Ответ №1:

Как говорится в документации, titleView будет отображаться в центре панели навигации.

UINavigationBar игнорирует фрейм представления, который был назначен titleView , и расположите его по центру. Вы можете создать контейнер представления, назначить его titleView и поместить в него ImageView:

 let imageView = UIImageView(frame: CGRect(x: 0, y: 150, width: 38, height: 38))
imageView.contentMode = .ScaleAspectFit
imageView.image = UIImage(named: "logo.png")

let containerView = UIView()
containerView.clipsToBounds = false
containerView.addSubview(imageView)
navigationItem.titleView = containerView
  

Комментарии:

1. это сработало!! Мне просто нужно было определить фрейм для containerView с той же шириной, что и ImageView, иначе ImageView не центрировался. Спасибо!