Добавление панели инструментов в навигационный контроллер

введите здесь описание изображенияЯ совершенно новичок в разработке для ios, и меня интересует только разработка для ios5.

У меня есть приложение с некоторыми сценами, в основном это таблицы. Я также использую навигационный контроллер

Однако мне нужно добавить некоторый текст состояния и кнопки, которые всегда видны во всех сценах, и я подумал, что панель инструментов, добавленная к навигационному контроллеру, должна помочь.

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

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


person Rickard Liljeberg    schedule 04.01.2012    source источник
comment
Да, nikans, раньше я был новичком в stackoverflow и не совсем понял, но теперь я другой человек :-)   -  person Rickard Liljeberg    schedule 04.01.2012


Ответы (3)


Был такой же вопрос недавно. Проверьте инспектор атрибутов в свойствах вашего ViewController в раскадровке. Там вы можете определить нижнюю панель.

Инспектор атрибутов

person nikans    schedule 04.01.2012
comment
Вы правы, теперь вы должны привязать его к свойству в вашем контроллере представления, и он будет работать безупречно. - person nikans; 04.01.2012
comment
Отлично, спасибо! Попробую, надеюсь, все получится. - person Rickard Liljeberg; 04.01.2012
comment
Я не совсем понимаю, почему мне нужно что-то подключать (и кого), потому что я добавил кнопку и связал ее с другим представлением/сценой, и это отлично сработало, поэтому я действительно не понимаю, зачем мне нужен код. Что мне не хватает? - person Rickard Liljeberg; 04.01.2012
comment
Нет, все в порядке, но если вы хотите сослаться на эту панель инструментов в своем коде (я обычно так и делаю), вы должны привязать ее к своему контроллеру представления. В противном случае можно просто оставить это для раскадровки. - person nikans; 04.01.2012

Ну, внутри UINavigationController должно быть что-то... UIViewController например. Вы можете легко добавить UIToolBar, перетащив объект внутрь UIView из UIViewController. Что может произойти, так это то, что в качестве корневого представления у вас есть UITableView, в этом случае я думаю, что вы не можете этого сделать. Но чтобы лучше понять, просто сделайте небольшой принт-скрин вашей раскадровки.

person Rui Peres    schedule 04.01.2012
comment
Я добавил картинку, у меня нет представления в моем навигационном контроллере, я что-то не так делаю? Также извините за большие пробелы, но я использую vnc для mac mini и по какой-то странной причине я не могу перемещать сцены после их размещения :-( - person Rickard Liljeberg; 04.01.2012
comment
Это поведение TableViews в раскадровках, вы не можете добавлять подпредставления, кроме TableViewCells. Это вполне логично, если подумать. - person nikans; 04.01.2012
comment
Проблема здесь, Рикард, в том, что вам нужно поместить UIView, а внутри него вы поместите свой UITableView. Вот почему вы не можете добавить свой UIToolBar... - person Rui Peres; 04.01.2012
comment
Верно. Но как заставить UITableViewController работать таким образом? - person nikans; 04.01.2012
comment
Хм, я редко использую UITableViewController. Но все равно на viewDidLoad ставим следующее: self.tableView=myTableIBOutlet. (Создайте IBOutelet для своего стола) - person Rui Peres; 04.01.2012
comment
У меня было так до Джеки Боя, но потом я удалил свой обычный вид и заменил его UITableViewController и получил много всего бесплатно. Но решение Никанса, кажется, творит чудеса. - person Rickard Liljeberg; 04.01.2012
comment
Лол, иногда лучше понять такие концепции, как UITableViewDelegate и UITableViewDataSource, более подробно, чем получать вещи бесплатно. :P Кроме того, вы получаете больше гибкости при принятии этих протоколов. Но если вы довольны ответом Никана, все в порядке. :D - person Rui Peres; 04.01.2012

Если вы увеличите раскадровку до 100%, она должна перетаскиваться.

person i_duhh_bomb    schedule 21.07.2013