Поддерживает ли панель вкладок/панель инструментов iOS кнопки/ярлыки/изображения?

Я ищу UITableViewController, который имеет TableView с 2 разделами и панелью вкладок/панелью инструментов, которая содержит две кнопки, 1 кнопку общего доступа, а другая - кнопку, которая нажимает контроллер представления. Табличное представление должно находиться под панелью вкладок/панелей инструментов (или фрейм не должен располагаться под панелью инструментов/панелью вкладок). Если панель инструментов/вкладка невозможна с изображением/кнопкой, я думал о создании представления в качестве подпредставления.

Вот как это должно выглядеть:

http://i.imgur.com/oKJXAdV.png

Если у кого-то есть какие-либо предложения или идеи о том, как это сделать, любые рекомендации будут оценены. Заранее спасибо!


person Chris    schedule 31.10.2013    source источник


Ответы (2)


Прежде всего, вам нужен UIToolbar, а не UITabBar.

Во-вторых, единственный тип элемента UIToolbar, который может содержать элемент UIBarItem, в частности, вас интересует его конкретный подкласс UIBarButtonItem.

UIBarButtonItem может быть либо системным элементом, либо содержать пользовательский UIView. Поскольку UIButton и UILabel являются подклассами UIView, вы можете поместить их внутрь UIBarButtonItem и добавить этот элемент на панель инструментов.

person Gabriele Petronella    schedule 31.10.2013
comment
Интересно. Будет ли это лучше, чем иметь подвид, а затем добавлять эти кнопки в этот вид? Кроме того, позволит ли панель инструментов делать отступы и пробелы между кнопками, как на изображении? - person Chris; 01.11.2013
comment
Да, есть две специальные системные кнопки, UIBarButtonSystemItemFlexibleSpace и UIBarButtonSystemItemFixedSpace, которые можно вставить для пробела. - person Gabriele Petronella; 01.11.2013
comment
Не могли бы вы привести пример того, какой из них я бы вам здесь и как? - person Chris; 01.11.2013
comment
Вам нужна кнопка слева (с системным стилем UIBarButtonSystemItemAction), кнопка справа с настраиваемым представлением и гибким пространством между ними. - person Gabriele Petronella; 01.11.2013
comment
Пертонелла: Я спрашивал программно, но, кажется, понял. - person Chris; 01.11.2013
comment
Ну, вы можете легко сделать это программно. Есть много примеров, которые вы можете посмотреть. Вы создаете три экземпляра UIBarButtonItem, сохраняете их в массиве и назначаете его свойству items элемента UIToolBar. Первые две кнопки — это просто системные кнопки, поэтому вы можете использовать initWithBarButtonSystemItem:target:action:. Для третьего сначала создайте собственный UIButton, затем используйте initWithCustomView: - person Gabriele Petronella; 01.11.2013

Да, вы перетаскиваете панель вкладок на свой контроллер просмотра, а затем перетаскиваете кнопки или другие элементы внутри этой панели вкладок.

person JuanCarlosDgz    schedule 31.10.2013
comment
-1 плохое объяснение. Более того, ему нужна панель инструментов, а не панель вкладок. - person Gabriele Petronella; 01.11.2013
comment
да, извините, это я хотел сказать, а не таббар. В любом случае, вы уже объясняете то, что я пытаюсь сказать, менее убого. - person JuanCarlosDgz; 01.11.2013