Как Вы корректируете цикловую синхронизацию или выравнивание по вертикали UIBarButtonItem, содержавшего экземпляром UIToolbar?

Горизонтальное расположение UIBarButtonItems не является никакой проблемой, я могу просто заполнить пространство фиксированными/гибкими объектами пространства. Однако я, может казаться, не корректирую объект панели инструментов вертикально. UIToolbar не имеет никакого свойства выравнивания, и UIBarButtonItem не имеет никакого способа установить его кадр.

Я должен сделать это, потому что мы используем соединение пользовательских значков, созданных с помощью initWithImage и стандартных значков, созданных с initWithBarButtonSystemItem. Пользовательские значки не центрируются правильно (они смещаются вверх относительно системных значков, которые центрируются правильно), таким образом, панель инструментов выглядит неловкой.

22
задан akaii 7 May 2010 в 03:29
поделиться

3 ответа

imageInsets свойство UIBarItem?

3
ответ дан 29 November 2019 в 04:54
поделиться

Не похоже простой и понятный способ сделать это, поэтому я пошел с уродливым, но функциональным приемом: вложением. Я вставил еще один UIToolbar, содержащий кнопку, в UIView, который я установил как UIBarButtonItem на исходной панели инструментов с помощью initWithCustomView. Второй UIToolbar может свободно перемещаться внутри UIView, а фактический значок сохраняет все свойства UIBarButtonItem.

Тьфу.

1
ответ дан 29 November 2019 в 04:54
поделиться

Да, imageInsets сработал для меня отлично!

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, -topInset, 0.0f); 

перемещает изображение на 4 пикселя вниз.

ИСКЛЮЧИТЬ ЭТО:

 float topInset = 4.0f;
 myUIBarButton.imageInsets = UIEdgeInsetsMake(topInset, 0.0f, 0.0f, 0.0f); 

перемещает изображение на 4 пикселя вниз (НО изменяет высоту изображения, так что оно выглядит сжатым).

34
ответ дан 29 November 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: