【问题标题】:How to display title for header text for header in first section iOS如何在第一节iOS中显示标题文本的标题
【发布时间】:2020-08-17 05:45:51
【问题描述】:

使用 viewForHeaderInSection 下面的方法我尝试在表头部分显示图像,但我也想要一个标题文本,使用标题标题文本的方法我能够显示所有部分的标题,但不是第 1 部分,我是否需要对第一个部分的标题视图进行一些更改才能显示标题,如果我要删除 viewForHeaderInSection,那么第一个标题部分的标题也会显示出来

 let sectionTitle = ["Feedback", "Follow Us"]

 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    if section == 0 {
       headerTop.headerLogo.image = UIImage(named: "foodpin-logo")
       return headerTop.topView
    }
    return nil
 }
 
 override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    return sectionTitle[section]
 }

【问题讨论】:

  • 如果有视图...它不会显示标题...
  • 你需要在 View 中有标题 .... 并删除 titleForHeaderInSection 方法
  • @jawadAli - 是的,你是对的,我正在尝试通过在视图中添加一些东西来使其工作,谢谢
  • @jawadAli - 有了你的建议,我几乎可以得到我想要的,我用新的观点更新了这个问题,你能建议如何为一个特定的 UILabel 添加填充,我正在使用 let padding = UIEdgeInsets(top: 2, left: 8, bottom: 2, right: 8),但是不知道怎么用,谢谢
  • @jawadAli,感谢问题已解决,问题已更新,最终解决方案

标签: ios swift uitableview


【解决方案1】:

您需要在headerTop 视图中创建一个文本标签并删除此功能override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int)。所以你的代码会是这样的:

let sectionTitle = ["Feedback", "Follow Us"]

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    headerTop.headerLogo.image = (section == 0) ? UIImage(named: "foodpin-logo") : nil
    headerTop.yourHeaderTextLabel.text = sectionTitle[section]
    return headerTop.topView
}

【讨论】:

  • 我得到了一个不同的视图,我猜想重复部分页面视图,我已经用我现在得到的内容更新了这个问题
【解决方案2】:

您似乎在寻找tableHeaderView!问题是您正在覆盖第一部分的标题。

您可以考虑将tableViewtableHeaderView 设置为headerTop。因此,所有部分的标题都会如您所愿。

tableView. tableHeaderView = headerTop

另外,如果你想让你的表头保持粘性,这里有很多教程。

【讨论】:

  • 谢谢,jawadAli 指导我找到了类似的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-01
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
相关资源
最近更新 更多