Программно создать сгруппированный UITableView
У меня есть UITableViewController, который в настоящее время отображает 4 ячейки, которые будут отображаться всегда, и хотел бы сгруппировать их вместе, однако я не могу понять, как. Ресурсы, которые я нашел, дают инструкции с помощью Interface Builder только тогда, когда стандартный UITableView вставляется поверх UIViewController или чего-то подобного. Как я могу сгруппировать их программно?
Вот мой текущий класс UITableViewController:
import UIKit
class SecondViewController: UITableViewController {
let Items = ["Altitude","Distance","Groundspeed"]
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.Items.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = self.Items[indexPath.row]
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
}
1 ответ
Стиль табличного представления устанавливается в момент инициализации и не может быть изменен позже, но вы можете создать новое табличное представление с желаемым сгруппированным стилем и установить его в качестве табличного представления в ViewDidLoad:
self.tableView = UITableView(frame: self.tableView.frame, style: .grouped)
Вы также должны указать количество разделов в таблице, используя numberOfSectionsInTableView(_:) и заголовки для каждого из них, используя tableView(_:titleForHeaderInSection:) или tableView(_:titleForFooterInSection:).