Настройка размера изображения в коде в контроллере навигации iOS - PullRequest
0 голосов
/ 16 октября 2018

Это код, который я использую для установки изображения в заголовке панели навигации,

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 30))
imageView.contentMode = .scaleAspectFit

let image = UIImage(named: "fullLogo")
imageView.image = image

self.navigationItem.titleView = imageView;

Проблема в том, что изображение выглядит слишком большим.Как мне изменить размер изображения в коде?Я пробовал много комбинаций ширины и высоты, но, похоже, это не сработало.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

В соответствии с документацией :

Пользовательские представления заголовков располагаются по центру на панели навигации и могут быть изменены по размеру.

Вот что происходитс вашим изображением.Решением может быть добавление imageView в качестве подпредставления к UIView и присвоение UIView свойству titleView.

Более простым решением может быть установка imageView.contentMode в .center, но в этом случаевам нужно быть уверенным, что ваше fullLogo изображение на самом деле имеет размер 100x30, если оно больше, чем titleView кадр, рассчитанный iOS, ваше изображение будет перекрывать панель навигации и просматривать представление контроллера.

И вы можете запустить UIImageView или контейнер UIView с frame: .zero, потому что его кадр будет пересчитан во время выполнения.

0 голосов
/ 16 октября 2018

Set

imageView.clipsToBounds = true

Для изменения размера изображения это SO Post поможет.Надеюсь это поможет.

Счастливое кодирование.

...