1

Я создал гибкую панель навигации в своем приложении, которая будет отображать пользовательские кнопки слева, справа и посередине. До сих пор у меня работает:UIBarButtonItem в середине navbar?

  • вправо/влево/Ближний - Пользовательские изображения и/или текст
  • вправо/влево - Нормальная кнопка глядя с пользовательскими изображениями в нем
  • вправо/влево - ищет кнопку Normal с пользовательским текстом в нем

Под «нормальным взглядом» Я имею в виду UIBarButtonItemStyle по умолчанию - просто красивая блестящая кнопка.

Вопрос в том, как я могу достичь такого же взгляда в MIDDLE навигационной панели? Я могу делать пользовательские/текстовые изображения, просто создавая пользовательский UIButton, а справа/слева я создаю UIBarButtonItem из него, но в середине я просто добавляю представление UIButton в качестве подзадача навигационной панели.

Я не могу добавить UIBarButtonItem к навигационной панели в качестве подзапроса, и любой созданный мной UIButton не похож на UIBarButtonItem.

Единственным обходным решением, которое я могу придумать, является использование растягиваемого пользовательского изображения, которое я краду с экрана. Я бы предпочел не делать этого таким образом. Я что-то упускаю?

*********** ОБНОВЛЕНИЕ ************** Библиотека с открытым исходным кодом Three20 позволит вам создавать UIButtons, которые выглядят как UIBarButtonItems. Затем вы можете добавить их в представление панели, разместив вручную в качестве подвью или установив вид заголовка.

ответ

1

Я никогда не понимал, почему они не делают UIBarButtonItems проистекают из UIViews (или даже лучше, UIButtons) поэтому их можно было использовать в другом месте.

Похоже, что вы на правильном пути, но вам нужно улучшить художественное произведение :-) Вы можете получить большое количество компонентов интерфейса iPhone в файле Photoshop .PSD from here. У них есть предварительно созданные кнопки на панели, которые вы можете использовать в качестве основы для стандартного изображения UIButton. Если у вас есть Photoshop (или достойная программа рисования), вы можете растягивать кнопки из середины, чтобы соответствовать вашему размеру, не искажая углы. Просто добавьте ярлык, и вам должно быть хорошо идти.

+0

Спасибо. Кстати, вы можете растянуть изображение с середины программным способом (поиск растяжимыйImage). Я также думаю, что очень странно, что UIBarButtonItem не наследует UIButton. – Sam

+0

Вы также можете использовать [этот проект GitHub] (https://github.com/0xced/UIKit-Artwork-Extractor), чтобы извлечь все изображения из UIKit и других фреймворков, включая растяжимые кнопки/текстовые поля и все остальное – kervich

1

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

Смежные вопросы