- [UIBarButtonItem setTitlePositionAdjustment: forBarMetrics:] игнорирует вертикальное смещение
У меня есть приложение с некоторыми настраиваемыми позициями, и я хотел бы изменить стандартное вертикальное выравнивание текста кнопки. Я пробовал настройку
[buttonItem setTitlePositionAdjustment:UIOffsetMake(0, -22) forBarMetrics:UIBarMetricsDefault]
но ничего не меняется. Как ни странно, если я устанавливаю горизонтальное смещение, кнопка движется просто отлично. Похоже, что изменения вертикального выравнивания не соблюдаются. Это ошибка на iOS 7? Я что-то не понимаю о API? Я не вижу документации, говорящей, что вертикальное выравнивание игнорируется.
(пример проекта, показывающий проблему)
Ответы
Ответ 1
К сожалению, setTitlePositionAdjustment:forBarMetrics:
не вступает в силу. Лучшим обходным решением, которое я нашел, было использование UIButton вместо этого, что можно сделать прямо в Interface Builder.
- Добавьте
UIButton
в UIBarButtonItem
и установите шрифт или изображение, размер и т.д.
- В Инспекторе атрибутов установите выравнивание управления
UIButton
вправо
![ib screenshot]()
- Подключите кнопку вверх к любым действиям, которые вам нужны.