gpt4 book ai didi

ios - 在表格 View 单元格中添加自动布局约束。

转载 作者:行者123 更新时间:2023-11-28 06:50:19 25 4
gpt4 key购买 nike

我正在尝试将 UIImageView 添加到单元格并以编程方式添加自动布局约束。但是,它给我以下错误: The view hierarchy is not prepared for the constraint... 添加到 View 时,约束的项目必须是该 View (或 View 本身)的后代。如果在组装 View 层次结构之前需要解决约束,这将崩溃。 我查看了以下帖子:Swift, Constraint, The view hierarchy is not prepared for the constraint , Why is my layout constraint returning an error in this case? (Swift) , 和 Swift, Constraint, The view hierarchy is not prepared for the constraint . setTranslatesAutoresizingMaskIntoConstraints 是这些帖子建议我添加但我无法添加到我的代码中的一件事。当我尝试将此功能添加到我的 imageView 时,出现错误。

这是我的代码:

    func cellTwo(indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("cellTwo", forIndexPath: indexPath) as! CathyTaskLogTwoTableViewCell

let imageView:UIImageView = UIImageView(image: UIImage(named: "defaultPicture"))
imageView.frame.size.width = 100
imageView.frame.size.height = 31
let horizonalContraints = NSLayoutConstraint(item: imageView, attribute:
.LeadingMargin, relatedBy: .Equal, toItem: cell,
attribute: .LeadingMargin, multiplier: 1.0,
constant: 20)
imageView.addConstraint(horizonalContraints)

cell.addSubview(imageView)

return cell

}

非常感谢您的帮助:)

最佳答案

  1. 顺序是:

    • 实例化 subview (例如 ImageView );
    • translatesAutoresizingMaskIntoConstraints设置为false
    • 调用addSubview将其添加到 View 层次结构中;和
    • 添加约束条件。
  2. 如果您正在使用约束,则根本不要设置 frame。一切都应该由约束来定义。

  3. 调用 dequeueReusableCellWithIdentifier 然后添加 subview 可能并不明智。如果电池被重复使用怎么办?您将多次添加相同的 subview 。 subview 的编程添加可能最好放在 awakeFromNib 的单元格子类实现中,如果来自 Storyboard或 NIB,或者 init(style;, reuseIdentifier) 如果以编程方式构建它。或者,最简单的方法是根本不以编程方式创建单元格,而是使用 Storyboard或 NIB。

关于ios - 在表格 View 单元格中添加自动布局约束。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35098245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com