Элементы навигации
Я пытаюсь настроить панель навигации следующим образом:
Я пробовал много способов, но я не мог этого сделать. Я могу удалить название кнопки "Назад" и добавленное изображение рядом с ней.
Мои проблемы:
- Мое изображение далеко до кнопки назад. Я хочу это поближе.
- И я хочу добавить заголовки рядом с моим изображением.
Как мне это сделать?
1 ответ
На самом деле UINavigationBar поддерживает только объекты UINavigationItem, и вы можете добавить левую середину и правую часть панели. | оставленный предмет | Название | правильный пункт |
Но фокус в том, чтобы добавить мульти-вид слева и оставить название пустым.
navigationItem.setLeftBarButtonItems([backButton, profileImageView, profileNameView], animated: true)
Перед этим вам нужно настроить UIBarButtonItem для profileImageView (например)
let profileImage = UIImageView(...)
создайте свой UIBarButtonItem с этим пользовательским представлением
let profileImageView = UIBarButtonItem(customView: profileImage)
Важное примечание Иногда (почти часто) вам нужно исправить рамку этого представления, потому что это пользовательский. Всегда проверяйте ширину NavigationBar, а затем проверяйте, сколько правых кнопок (в вашем случае) присутствует на rightItem.
установить начальную ширину вида, используя фрейм "NavigationBar - sideLeft (кнопка назад, например)"
CGRectMake(0, 0, self.navigationBar.frame.width - backButton.frame.widht, 25)
- Для любой правой кнопки рассчитать ширину
- снова установить кадр с новым значением
| ширина кнопки назад | настраиваемая ширина просмотра | правая кнопка 1 ширина |... правая кнопка N widht |
| <----------------------------------------- Ширина UINavigationBar ------ ---------------------------> |