После нового обновления XCode мое приложение не проверяется и показывает эту ошибку:
статические табличные представления действительны только при их внедрении в экземпляры UITableViewController
Есть шансы решить легко?
После нового обновления XCode мое приложение не проверяется и показывает эту ошибку:
статические табличные представления действительны только при их внедрении в экземпляры UITableViewController
Есть шансы решить легко?
Единственный способ получить статический UITableView вместе с другими элементами управления на том же экране - это использовать представление контейнера. Следуйте по этому пути, он отлично работает:
Удачи.
Этот ответ уже найден и дан здесь: Г.Хюбнер → http://web.archive.org/web/20140928102504/http://iphonedevsdk.com/forum/iphone-sdk-development/111800-static-table-view-cells-only-work-in-a-uitableviewcontroller.html
Статический UITableView должен быть в UITableViewController. Таким образом, вам нужно будет поместить таблицу в UITableViewController, а затем добавить ее как childView в MainViewController.
Вы можете ссылаться на https://iphoneidoit.blogspot.in/2013/10/static-uitableview-in-uiviewcontroller.html.
Я думаю, что вы делаете, сначала перетаскиваете ViewController на раскадровку, а затем перетаскиваете tableView на ViewController. Таким образом, вы не можете использовать ячейки статической таблицы. Вместо этого вы должны были перетащить TableViewController на основной раскадровки вместо ViewController, а затем выбрать статические ячейки. Таким образом, вы можете работать с статическими ячейками и использовать любые элементы в статических ячейках.
Я сделал другой путь, но не рекомендовал сам. Я должен показать 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
}
}