Вставка сгруппированного UITableView с разделом заголовка - PullRequest
0 голосов
/ 05 августа 2020

Я использовал UITableView с двумя прототипами ячеек и сгруппированные по вставке стиль

enter image description here

Without viewForHeaderInSection Output will be fine

enter image description here

After Add viewForHeaderInSection Output will be Like this

enter image description here

Expected Output

введите описание изображения здесь

Вот мой код

extension DashboardVC:UITableViewDelegate, UITableViewDataSource {
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 4
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 4
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 45
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return UITableView.automaticDimension
    }
    
    func tableView(_ tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {
        return 70
    }
    
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let headerCell = tableView.dequeueReusableCell(withIdentifier: "TblHeaderCell") as! TblHeaderCell
        return headerCell
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "TblSectionCell", for: indexPath) as! TblSectionCell
        return cell
    }
}

1 Ответ

0 голосов
/ 05 августа 2020

Во-первых, Inset Grouped tableView имеют дополнительные свойства выравнивания ...

Если вы используете ячейки по умолчанию и просто установите titleForHeaderInSection, вы увидите, что текст в разделе заголовок выравнивается с текстом в ячейке.

Кроме того, Inset Grouped округляет углы раздела строк - он НЕ включает заголовок раздела .

Вот как это выглядит с обычным UIView в качестве заголовка раздела:

enter image description here

Zoomed in a little:

enter image description here

To get the visual output you're going for, I think you'll want to use your "header cell" as the first row in the section, and your "section cell" for the remaining rows:

введите описание изображения здесь

Я предполагаю, что «стрелка вниз / шеврон» в заголовке раздела указывает на то, что вы хотите развернуть / свернуть разделы? Если это так, вам нужно будет реорганизовать свой код, чтобы отображать только первую строку, когда раздел свернут.

Другой вариант - НЕ использовать Inset Grouped , а вместо этого настроить свои ячейки чтобы закруглить верхние углы заголовка раздела и нижние углы только последней ячейки в разделе ... или закруглить все 4 угла заголовка, когда раздел свернут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...