2010-10-11 3 views
3

Я работаю с универсальными приложениями. Теперь я хочу создать три вида таблицы в моем контроллере представления для iPAD. У меня есть три отдельных контроллера представлений с XIB.So, как я могу добавить два других вида таблицы в виде subview в основных контроллерах. Пожалуйста, дайте мне несколько примеров приложений и ссылок. В моем приложении у меня есть три контроллера вида и добавление subview в виде таблицы (не UITableViewController). При щелчке по первым данным табличного представления, он переходит ко второй таблице и щелкает данные второго табличного представления, а затем переходит к третьему виду таблицы.Как создать несколько табличных представлений в контроллере просмотра для iPad?

Hierarchy: 

    MainViewController: 
    --SubTableView1 
    --SubTableView2 

Смотрите изображение ниже, alt text

Пожалуйста, помогите мне.

Спасибо!

ответ

4

Вид таблицы - это просто вид, который вы можете использовать. Он не должен быть привязан к контроллеру вида 1: 1, но если это не так, вам нужно настроить собственный контроллер представления, который владеет экраном, а затем заставить его владеть всеми тремя табличными представлениями в качестве подзонов. Вам нужно быть осторожным, какой объект является делегатом и источником данных для каждого представления, и делать правильные вещи с предоставлением ячеек и т. Д. Если один и тот же контроллер является источником делегирования/данных всех видов таблиц, вам нужно переключиться делегат методы для правильной работы на каждом.

11

Я написал пример с two TableViews on one view. В моем коде каждый TableView имеет свой собственный контроллер, так как я могу избежать блокировки if else в своих методах делегата, так как это приведет к высокой и нежелательной связи.
Эти коды очень грубые, поскольку я был новичком, когда я его написал. т. е. я не использую в нем свойства.
Сам TableViews может быть добавлен в их супер-представление через Interface Builder.

+0

Спасибо, это очень полезно! Это помогло мне найти ошибку в моем коде, которая заключалась в том, что я установил делегат и источник данных в методе init, а не в viewDidLoad. Он не будет работать, чтобы установить их в методе init. – Vanja

+0

Фантастический проект, который я только что загрузил, чтобы посмотреть. Большое спасибо! Мне остается задаться вопросом, возможно ли иметь два вида таблицы с двумя источниками данных, но один контроллер. Как вы думаете? ** РЕДАКТИРОВАТЬ: теперь, глядя на это, кажется, у вас есть два контроллера, определенных в контроллере единого вида. Мне нравится намного лучше, чем просто добавить разрозненный код в один вид для нескольких просмотров, хорошая реализация! – Danny

+0

Я не вижу никаких проблем с этим – vikingosegundo

1

Я только что закончил раздел своего приложения, и я смог сделать несколько табличных просмотров на одном дисплее ipad.

Но кредит переходит к другой команде решения проблем StackOverflow. Читая это, я смог определить реальную проблему и дал мне корень ответа. Проблема с основными причинами связана с управлением источником данных и делегатом TableView с отдельным контроллером ... Вам нужно будет внимательно прочитать ответ. Я сделал, и мое приложение теперь работает хорошо.

Вот деталь: UITableView issue when using separate delegate/dataSource

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