#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 не центрировался. Спасибо!