将文本对齐到TableView中单元格左上角的简单方法?

时间:2019-01-29 12:56:00

标签: ios swift

我在TableView的一个单元格中有一些文本,希望显示在该单元格的左上角。

使用以下命令将文本向左对齐很简单:

cell.textLabel?.textAlignment = NSTextAlignment.left

但是,我发现所有将文本垂直对齐到顶部的解决方案都很复杂。

有没有一种我不知道的简单方法?

This is my layout

这是我的布局,我没有自定义单元格。

2 个答案:

答案 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)

声明单元格如下:

Data

在那之后定义UserCell类:

   override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! UserCell

       // to do: additional code
        return cell
    }

我认为您正在寻找如下输出:

enter image description here