Как я могу иметь два представления таблицы в контроллере представления таблицы? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь иметь два разных представления таблицы внутри сцены, но единственный способ сделать это в раскадровке - это использование контроллера представления, и если я использую контроллер представления таблицы, он не позволяет перетащить новое представление таблицы и т. Д., Когда Я запускаю его, используя контроллер представления, он выдает мне ошибку: из раскадровки «Main», но не получил UITableView. '

Что я могу сделать?

Ответы [ 3 ]

0 голосов
/ 03 марта 2020

Хотите две таблицы, каждая из которых прокручивается независимо? (может быть, рядом?) Или вы хотите включить два набора данных в одну таблицу, чтобы прокручивать одну из них, чтобы увидеть другую?

Если вы хотите, чтобы только два разных набора данных отображались в одной и той же таблице, но раздельно, вы можете создать два раздела. Эта страница имеет действительно хороший обзор: https://developer.apple.com/documentation/uikit/uitableview

Вы захотите реализовать эти методы в своем UITableViewController:

var mydata = [["siamese", "tabby", "orange", "persian"], 
              ["wolfhound", "labrador", "german shepherd"]]
override func numberOfSections(in tableView: UITableView) -> Int {
    return mydata.count
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return mydata[section].count
}

Каждый из методов которая имеет переменную section, должна искать данные для этого раздела и возвращать правильную информацию.

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

Этот вопрос задает вопрос об UIPicker с двумя источниками данных - вы можете сделать что-то очень похожее с вашими таблицами: { ссылка }

0 голосов
/ 03 марта 2020

Вы можете попробовать это:

override func numberOfSections(in tableView: UITableView) -> Int {
    if tableView == yourFirstTableView{
        return firstCount
    } else {
        return secondCount
    }
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if tableView == yourFirstTableView{
        return first[section].count
    } else {
        return second[section].count
    }
}

Надеюсь, это поможет ...

0 голосов
/ 03 марта 2020

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

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