Как вы можете отобразить список изображений в качестве заголовка панели навигации? - PullRequest
0 голосов
/ 20 сентября 2019

Из stackoverflowing я понимаю, что для установки заголовка навигационной панели для изображения мы используем следующий код:

UIImage *image = [UIImage imageNamed:@"image.png"];
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:image];

Однако я хочу отобразить список изображений CENTERED в навигациибар.Это приложение для чата, где я показываю изображения всех участников!Так что мне нужно некоторое пространство между UIImages.

Я думал о горизонтальных стеках, но я не уверен, как правильно реализовать их программно.Или даже если это возможно сделать в панели навигации.

Кто-нибудь знает, как это сделать эффективно?

Заранее спасибо!

PS: Кстати, кто-нибудь знает, как увеличить высоту панели навигации?Я попробовал следующий код в viewDidAppear:

self.navigationController.navigationBar.prefersLargeTitles = YES;
self.navigationController.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways;
self.navigationController.navigationBar sizeToFit];

Но результат не статичен.У меня есть таблица внизу для отображения сообщений чата, и если я прокручиваю до определенной точки, большая навигационная панель конденсируется.Кроме того, шрифт увеличен.Есть ли способ статически установить высоту панели навигации в iOS 11+, не затрагивая другие свойства панели навигации?

Ответы [ 2 ]

2 голосов
/ 20 сентября 2019

Вы можете отобразить все что угодно в центре навигационной панели как titleView.Поэтому создайте свой содержащий вид с горизонтально расположенными изображениями в качестве его подпредставлений, установите все необходимые ограничения и используйте свой содержащий вид в качестве представления заголовка.

1 голос
/ 20 сентября 2019

Да, вы можете сделать это с помощью stackView

, и вы добавите 3 вида изображений, imageView1, imageView2, imageView3

stackView.addArrangedSubViews([imageView1, imageView2, imageView3])

self.navigationItem.titleView = stackView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...