我在TableView的一个单元格中有一些文本,希望显示在该单元格的左上角。
使用以下命令将文本向左对齐很简单:
cell.textLabel?.textAlignment = NSTextAlignment.left
但是,我发现所有将文本垂直对齐到顶部的解决方案都很复杂。
有没有一种我不知道的简单方法?
这是我的布局,我没有自定义单元格。
答案 0 :(得分:1)
您不能将约束更改/添加到默认UITableViewCell。因此,您应该首先创建一个新类,该新类应该是UITableViewCell的子类。
关于创建新的UITableViewCell类的提示是:在创建新文件页面中,使用 Cocoa Touch Class 选项,并在新窗口中命名单元格之后,确保键入UITableViewCell到 subclass 部分,然后选择还创建XIB文件。这将同时创建一个.swift和.xib文件。
转到.xib文件,然后根据需要设计单元格。将标签放在单元格的左上角。
完成自定义单元格的设计后,首先将以下几行添加到tableView:cellForRow函数中,以便您可以使用自定义UITableViewCell。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell : SomeTableViewCell!
let tempCell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier)
if tempCell != nil {
cell = tempCell as! SomeTableViewCell
}
if(cell == nil)
{
cell = Bundle.main.loadNibNamed("SomeTableViewCell", owner: self, options: nil)?.first as! SomeTableViewCell
}
...
Do other customizations with your cell here.
e.g. -> cell.label.textAlignment = .center
...
}
我知道这不是有关如何使用UITableViewCell的完整文档,但是我尝试为您提供设计和使用自定义UITableViewCell所需的最少信息。有关完整的解释,您可以使用任何喜欢的教程,或者例如,可以从以下内容开始查找该问题:
creating custom tableview cells in swift
当然,可以随时问我我的答案是否缺失。
希望这可以帮助您入门!
编辑:我注意到我通过了redirectIdentifier。 redirectIdentifier只是一个字符串,您最好从其.xib分配给自定义单元格,并在此处使用相同的字符串
答案 1 :(得分:1)