iPad - более одного UITableView на одном экране - PullRequest
6 голосов
/ 04 октября 2010

Я кодирую приложение с iPad, и мне нужно поместить два отдельных UITableView на одном экране. Для этого приложения я не могу поместить UITableView и разделить на два раздела по причине необходимости. Это должно быть два разделенных. Ну, в этом случае, как я могу заполнить строки UITableView. Могу ли я создать DataSource и Delegate в отдельных классах, один для первого UITableView и другой класс DataSource и Delegate для второго UITableView, или другой подход более элегантный?

много ткс.

Ответы [ 2 ]

4 голосов
/ 05 октября 2010

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

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

Это будет выглядеть примерно так: (я предполагаю, что этот код находится на вашем контроллере представления.)

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    CGFloat height = 44.0; // default height
    if (tableView == self.myLeftTableView) {
        height = // Compute the cell height for the left table view.
    } else {
        height = // Compute the cell height for the right table view.
    }
    return height;
}

Это может стать ужасно быстро, чтопочему я рекомендую первый подход.

3 голосов
/ 03 августа 2012

Да, вы можете создавать разные классы для источника данных и методов делегирования для разных UITableView, и на самом деле это лучший подход для использования нескольких таблиц в одном представлении, так как этот подход реализует архитектуру MVC.Для этого попробуйте эти 2 решения, в которых первый подход заключается в реализации источника данных и метода делегирования для двух таблиц в одном классе, а второй - в реализации разных источников данных и метода делегирования в разных классах с использованием UITableViewController или класса NSObject

.подробно попробуйте эти ссылки, где вы также можете найти пример кода:

Обрабатывать более одной таблицы в представлении Part-1

Обрабатывать более одной таблицы вПросмотр Часть-2

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