Прототип клетки в перо вместо раскадровки
для лучшего повторного использования я хочу создать представление таблицы за пределами моей раскадровки.
теперь, когда я создаю UITableView
на основе ViewController с Nib в Xcode я получаю TableView по умолчанию в файле nib. Однако я не могу в Interface Builder добавить ячейки прототипа, как я в своей раскадровке.
в настоящее время невозможно добавить ячейки прототипа в перо или я что-то упустил.
Спасибо за любую помощь.
2 ответа:
iOS 5 включает в себя новый метод на UITableView: registerNib: forCellReuseIdentifier:
чтобы использовать его, поместите UITableViewCell в перо. Это должен быть единственный корневой объект в наконечнике.
вы можете зарегистрировать перо после загрузки вашего tableView, а затем при вызове dequeueReusableCellWithIdentifier: с идентификатором ячейки он вытащит его из пера, как если бы вы использовали ячейку прототипа раскадровки.
В Swift 4:
- создать новый класс CocoaTouch, подкласс из UITableViewCell.
- важно включить флажок 'также создать XIB файл' который создает файл Swift и a .xib file
- добавить метки в Xib, как вы бы сделали для прототипа ячейки в раскадровке
- подключите выходы этикеток к новому файлу swift
важно -зарегистрироваться файл nib в viewDidLoad
yourTableview.register(UINib.init(nibName: "CustomCellTableViewCell", bundle: nil), forCellReuseIdentifier: "Cell")
(или)
yourTableview.register(UINib(nibName: "CustomCellTableViewCell", bundle: Bundle.main), forCellReuseIdentifier: "Cell")
- реализовать источник данных и делегирует как обычно и typecaste в CustomCell в cellForRowAtIndexPath.