Просмотр статической таблицы вне UITableViewController
После нового обновления XCode мое приложение не проверяется и показывает эту ошибку:
статические табличные представления действительны только при их внедрении в экземпляры UITableViewController
Есть шансы решить легко?
Ответы
Ответ 1
Единственный способ получить статический UITableView вместе с другими элементами управления на том же экране - это использовать представление контейнера. Следуйте по этому пути, он отлично работает:
- Перетащите ViewController на вашу раскадровку.
- Перетащите TableViewController на вашу раскадровку.
- Затем перетащите представление "Контейнер" в ViewController и задайте для него размер, который вам нужен (меньше, чем представление) → при перетаскивании представления контейнера это создаст переход и другое представление. Удалите этот переход и просмотрите.
- Затем, наконец, нажмите Ctrl в вашем контейнере и перетащите в ваш новый TableViewContoller. Выберите Вставить.
- Стиль вашего TableView, как вы хотите → включая статические ячейки.
Удачи.
Этот ответ уже найден и дан здесь: Г.Хюбнер → http://web.archive.org/web/20140928102504/http://iphonedevsdk.com/forum/iphone-sdk-development/111800-static-table-view-cells-only-work-in-a-uitableviewcontroller.html
Ответ 2
Статический UITableView должен быть в UITableViewController. Таким образом, вам нужно будет поместить таблицу в UITableViewController, а затем добавить ее как childView в MainViewController.
Вы можете ссылаться на https://iphoneidoit.blogspot.in/2013/10/static-uitableview-in-uiviewcontroller.html.
Ответ 3
Я думаю, что вы делаете, сначала перетаскиваете ViewController на раскадровку, а затем перетаскиваете tableView на ViewController. Таким образом, вы не можете использовать ячейки статической таблицы. Вместо этого вы должны были перетащить TableViewController на основной раскадровки вместо ViewController, а затем выбрать статические ячейки. Таким образом, вы можете работать с статическими ячейками и использовать любые элементы в статических ячейках.
Ответ 4
Я сделал другой путь, но не рекомендовал сам. Я должен показать 3 ячейки таблицы в виде таблицы, встроенной в UIViewController
, содержащей значок и имя VISA, AMEX и MasterCard. Я сделал всего 3 динамических прототипа ячейки, дал им идентификатор и записал следующий код
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "visaCell", for: indexPath)
return cell
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "masterCardCell", for: indexPath)
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "amexCell", for: indexPath)
return cell
}
}