TableView 部分更改标题对齐方式
Posted
技术标签:
【中文标题】TableView 部分更改标题对齐方式【英文标题】:TableView Section Change Header Alignment 【发布时间】:2017-03-19 09:16:32 【问题描述】:我有这个tableView
这里:
使用默认的左文本对齐方式,我想将其更改为右文本对齐方式。我该怎么做?
编辑:
现在看起来像这样:
【问题讨论】:
您使用的是 Swift 2 还是 3? @GeorgeH Swift 2.3 @GeorgeH 我有一些奇怪的间距问题你能帮我吗? 【参考方案1】:斯威夫特 4
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?
return "Your Header Name"
func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
header.textLabel?.font = UIFont(name: "YourFontname", size: 14.0)
header.textLabel?.textAlignment = NSTextAlignment.right
【讨论】:
完美运行! IMO,这是比标记答案更好的解决方案 这就是我喜欢的方式,原生快捷方便? 对于这个世界的新手,不要忘记在你的viewDidLoad中调用.delegate = self 示例:self.tableView.delegate = self【参考方案2】:你必须在 UITableView 数据源方法 viewForHeaderInSection
中这样做:
Swift 2.3:
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
let headerText = UILabel()
headerText.textColor = UIColor.lightGrayColor()
headerText.adjustsFontSizeToFitWidth = true
switch section
case 0:
headerText.textAlignment = .Center
headerText.text = "This Header Will Be Centered"
case 1:
headerText.textAlignment = .Right
headerText.text = "This Header Will Be Aligned Right"
default:
headerText.textAlignment = .Left
headerText.text = "Default Will Be Left"
return headerText
编辑:修改了上面的代码。您可以使用section
参数来标识要修改的部分。
【讨论】:
我收到此错误:致命错误:在展开可选值时意外发现 nil 它部分工作......现在我所有的部分都有标题文本,但我只想在其中的一些中包含标题文本,并为每个部分自定义文本。 +如果我可以问的话,我想要我原来的灰色:D @NewbieQuestions 更新了代码以识别您需要的部分。 好吧,现在看起来好多了,但还有一件事,当我的原始文本正好合适时,标签的末端会出现点...知道如何解决这个问题吗? 更新了代码。您需要提出新问题的任何进一步自定义。以上是关于TableView 部分更改标题对齐方式的主要内容,如果未能解决你的问题,请参考以下文章