gpt4 book ai didi

ios - 插入带有标题部分的分组 UITableView

转载 作者:行者123 更新时间:2023-12-05 02:51:12 25 4
gpt4 key购买 nike

我使用了带有两个原型(prototype)单元格和Inset Grouped 样式的UITableView

enter image description here

没有 viewForHeaderInSection 输出会很好

enter image description here

添加viewForHeaderInSection后输出会是这样

enter image description here

预期输出

enter image description here

这是我的代码

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
}
}

最佳答案

首先,Inset Grouped tableView 具有额外的对齐属性...

如果您使用默认单元格并简单地设置 titleForHeaderInSection,您将看到节标题中的文本与单元格中的文本对齐。

此外,Inset Grouped 圆化了行的部分的角 -- 它不包括部分标题。

这是使用普通 UIView 作为节标题 View 的样子:

enter image description here

放大一点:

enter image description here

为了获得您想要的视觉输出,我认为您需要将“标题单元格”用作该部分的第一行,并将“部分单元格”用作其余行:

enter image description here

我猜您的部分标题中的“向下箭头/V 形”表示您想要展开/折叠部分?如果是这样,您将需要重构代码以在该部分折叠时仅显示第一行。

另一种选择是不使用Inset Grouped,而是自定义您的单元格以将节标题的顶角和节中最后一个单元格的底角...或圆形部分折叠时页眉的所有 4 个角。

关于ios - 插入带有标题部分的分组 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63261632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com