我有一个UILabel
,用UIView
和低于UIView
的格式呈现单元格。 topAnchor
使用的10
常量为UILabel
UILabel
。
某些单元格的topAnchor
的值为零。在这种情况下,我希望0
中使用的常量为didSet
。
我能够设置每个单元格的常量(在单元格中使用view.layoutIfNeeded()
观察者)。然而,布局我无法更新。 var photoMarginToTop = CGFloat()
var post: Post? {
if post?.title != nil {
titleLabel.text = post?.title
photoMarginToTop = 10
updateLayout()
}
if post?.title == nil {
photoMarginToTop = 0
updateLayout()
}
}
func updateLayout() {
photoView.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: photoMarginToTop).isActive = true
photoView.layoutIfNeeded()
}
没有做到这一点。下面是代码。我很感激任何指示。谢谢!
这是在单元格类中:
roman.romanToPositiveInteger()
答案 0 :(得分:0)
layoutIfNeeded()函数布局视图的子视图,而不是您传递此函数的视图。因此,直接更新单元格布局。
答案 1 :(得分:0)
看起来你正试图为你的细胞创造动态高度?
我建议你继承UICollectionViewFlowLayout
并关注this tutorial by Ray Wenderlich。它们采用随机图像高度并相应地调整单元格大小。