解决方法
how can i space out the headlines (make the height a bit bigger) and change the color of the text ?
您需要具有标签的自定义视图,并将其返回到UITableView的viewForHeaderInSection的委托方法.
func tableView(_ tableView: UITableView,viewForHeaderInSection section: Int) -> UIView?
参考:
> https://www.hackingwithswift.com/example-code/uikit/how-to-add-a-section-header-to-a-table-view
> https://developer.apple.com/documentation/uikit/uitableview/1614965-headerview
编辑:
以下是如何实现这一目标.基本上,您需要在我上面提到的委托方法中使用自定义视图.如果你以前在cellForRow中成功制作了一个自定义UITableViewCell,那么这个对你来说应该是小菜一碟.
您声明了一个容器视图,然后在该容器中添加子视图(在您的情况下为UILabel).我总是使用约束,如下所示:
func tableView(_ tableView: UITableView,viewForHeaderInSection section: Int) -> UIView? { // Let's make the even numbers sections a red background. // Blue background for odd numbers let container = UIView() container.backgroundColor = section % 2 == 0 ? .red : .blue let titleForHeaderLabel = UILabel() titleForHeaderLabel.backgroundColor = .white titleForHeaderLabel.text = "HEADER SECTION: \(section)" container.addSubview(titleForHeaderLabel) titleForHeaderLabel.translatesAutoresizingMaskIntoConstraints = false titleForHeaderLabel.topAnchor.constraint(equalTo: container.topAnchor,constant: 20).isActive = true titleForHeaderLabel.bottomAnchor.constraint(equalTo: container.bottomAnchor,constant: -20.0).isActive = true titleForHeaderLabel.leadingAnchor.constraint(equalTo: container.leadingAnchor,constant: 20.0).isActive = true titleForHeaderLabel.trailingAnchor.constraint(equalTo: container.trailingAnchor,constant: -20.0).isActive = true return container }
然后在func tableView中为你的部分提供一个高度(_ tableView:UITableView,heightForHeaderInSection section:Int) – > CGFloat委托方法,如下:
func tableView(_ tableView: UITableView,heightForHeaderInSection section: Int) -> CGFloat { return 80.0 }
输出:
容易,对吗? :) 我希望这有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。