Программно создать сгруппированный 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:).

Другие вопросы по тегам