У меня есть пользовательский вид, который я создал с помощью файла xib
. В этом пользовательском представлении есть UIView
, где я хотел бы добавить статический UITableView
в качестве подзаголовка. UITableView
, который будет показан здесь, присутствует на storyboard
и связан с UITableViewController
. Я сделал следующее:Как добавить UITableView в качестве подзаголовка в UIView в xib?
let vc = (UIStoryboard(name: "Main", bundle: nil))
.instantiateViewControllerWithIdentifier("tableController") as! TableController
vc.loadViewIfNeeded()
table = vc.table // this is an outlet, I'm sure it is not nil
table.delegate = vc
table.dataSource = vc
table.backgroundColor = UIColor.greenColor()
containerView.addSubview(table)
Я могу видеть зеленый фон на мой настраиваемое представление, но ячейки таблицы не отображаются
Я знаю выход к столу не ноль, потому что при отладке, если Я проверяю переменную table
с помощью значка Quick Look
ниже консоли, я вижу таблицу.
UPDATE
я понял, что мой подход не был хорошим.
Я достиг результатов, которые я хотел, сделав мой взгляд подвид из UITableViewDataSource
и UITableViewDelegate
и программно создать UITable
и необходимый TableViewCell
. Сумасшедшие количества кодов!
Подробную информацию о танец, см. мой ответ здесь: http://stackoverflow.com/a/8746580/341994 Это было в 2012 году, но правила не изменились вообще. Следуйте за ними. - Здесь это демонстрируется в современном Swift: https: //github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch06p316containerController/ch19p631containerController/ViewController.swift – matt
Есть ли другой способ доступа к этому UITableView? Я не могу найти представление контейнера в файле xib поэтому мне пришлось прибегнуть к этой маме dness. Как вы можете видеть, я ужасно отчаянно хочу сделать это. – JadeSync
Я не знаю, что вы подразумеваете под «любым другим способом». То, что я предлагаю, легко. Я показал вам код. Почему бы просто не сделать это? Вам нужно только добавить пару строк кода к тому, что у вас уже есть. – matt