приложение для iphone с двумя UITableViewControllers бок о бок - PullRequest
2 голосов
/ 27 марта 2012

Я пытаюсь создать приложение для iphone с двумя параллельными таблицами, где обе таблицы всегда видны И по отдельности прокручиваются.Возможно ли это?

Я прочитал несколько ответов на подобные вопросы на этом сайте, где люди предлагают использовать «два UITableViewControllers, рядом»

Звучит так, как мне нужно, но яне могу найти никаких примеров.

Мой главный вопрос: как вы на самом деле получаете два UITableViewController на одном экране в IB?

В качестве альтернативы, это правильный способ сделать это, имея два TableViewsбок о бок в одном UITableViewController?

Любая помощь будет высоко ценится

Ответы [ 3 ]

1 голос
/ 09 апреля 2012

Хотя я и получил первоначальное руководство от ответа @ Аадхиры выше, я думал, что полностью отвечу на свой вопрос для всех, кто может найти это полезным (я, кстати, заставил его работать)

Я создалРаскадровка со следующей иерархией представлений / контроллеров представления

Контроллер UITableViewController - UITableView ViewContainer - UITableView слева - UITableView слева

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

Я сделал Controller делегатом и источником данных для Left и Right.Затем внутри контроллера я должен был убедиться, что у меня есть некоторый код, чтобы определить, какая таблица (левая или правая) рисуется.ViewContainer по большей части игнорируется, и пока я им не пользуюсь

Я добавил следующий код в numberOfSectionsInTableView, numberOfRowsInSection и cellForRowAtIndexPath

 switch (tableView.tag) {
    case 100:   //the requesting object is the Left TableView
    {
        //perform functions specific to Left;         
    }
        break;
    case 200:   //the requesting object is the Right TableView
    {
        //perform functions specific to Right;         
    }
        break;    
    default:
        //error handling code
        break;
}

Я установил теги для табличных представлений Left и Right на 100и 200 соответственно.Это позволило мне правильно заполнить левый и правый (они содержат разные объекты)

1 голос
/ 27 марта 2012

Вы можете иметь два UITableView в одном файле пера (и поэтому он имеет только один контроллер представления).Но установите 2 разных класса (что соответствует протоколу UITableViewDataSource) в качестве источника данных для двух табличных представлений.

0 голосов
/ 27 марта 2012

Поиск контроллера SplitView в iphone. Вы получите ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...