自定义 UITableViewCell 的内容配置错误

Posted

技术标签:

【中文标题】自定义 UITableViewCell 的内容配置错误【英文标题】:Wrong disposition of contents of custom UITableViewCell 【发布时间】:2021-03-06 19:50:08 【问题描述】:

我有一个自定义 UITableViewCell(带有 .xib 文件和自定义类继承自 UITableViewCell,有四个标签)。我已经正确实现了内容的约束,这就是故事板中的方面。

但是当我在模拟器中运行应用程序时,结果是这样的。

内容似乎指向 x,y 轴的 0,0 点,但我不知道会发生什么。

我试过this solution,但对我不起作用。

我的应用是用故事板制作的。我在 ViewController 中有一个 UITableView(默认),我创建了一个自定义的 UITableViewCell(称为 StatementTableViewCell),我通过 viewDidLoad 的 viewController 方法(tableView.registerNib(.....))中的代码注册它。

override func viewDidLoad() 
        super.viewDidLoad()

        // I've put the name of identifier and the class as the same.        
        self.tableView.register(UINib(nibName: IDENTIFIERS.TABLE_VIEW_CELL, bundle: nil), forCellReuseIdentifier: IDENTIFIERS.TABLE_VIEW_CELL)
        
        // remainded code
    

有人知道如何解决这个问题,请帮助我?谢谢!

【问题讨论】:

你能把例子简化成这个表,然后发布到 GitHub 上吗? 你改变了单元格Content View的类吗?如果是这样,那就不行了。 @matt 当然!我创建了一个基于相同逻辑的示例项目。但是现在内容都是右对齐的。给你:github.com/AdrianoAntoniev/PreferredBands 酷,让我帮你看看。 @DonMag,是的,我改了。很奇怪 【参考方案1】:

好吧,你没有在关于如何布局的问题中说实话。您在水平堆栈视图中有两个垂直堆栈视图。所以:

将外部堆栈视图的分布更改为均等填充和零间距(或者可能是 8,如 Don Mag 建议的那样)。

将标签的行数更改为 0。

宾果游戏。由于标签的内容拥抱,您仍然存在一些歧义问题,但您可以稍后解决。

【讨论】:

非常感谢@matt,它解决了我的问题!谢谢你和@DonMag! 你快到了。 :)

以上是关于自定义 UITableViewCell 的内容配置错误的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UITableViewCell 不显示内容

iOS Swift - UITableViewCell 自定义子类不显示内容

改变自定义uitableviewcell内容在不同方向的位置

自定义 UITableViewCell 的布局何时完成?

当 UIScrollView 位于自定义 UITableViewCell 中时,将 UIScrollView 的内容大小设置为其框架宽度

如何在 Storyboard 中的自定义 UITableViewCell 中配置 UITableView?