好的,我将底部约束从imageView拖到我的tableViewCell.swift文件中,并将其命名为 imageBottomConstraint 。我尝试了 imageBottomConstraint.relation = .greaterThan ,但是给我一个错误,说它只是一个get,所以关系是相同的,我试图将它改为更大。
以下是我感到困惑和困惑,所以我试图创建一个新的约束,但我并不真正理解 NSLayoutConstraint(item:,attribute:,relatedBy:,toItem) :,attribute:,multiplier:,constant:)。不要理解item,attribute,relatedBy,toItem&属性,请有人帮忙澄清。
我认为我的灾难代码会起作用,但不会崩溃。
@IBAction func showMoreBtn() {
let item = imageBottomConstraint.firstItem
let attribute1 = imageBottomConstraint.firstAttribute
let relatedBy = NSLayoutRelation.greaterThanOrEqual
let item2 = imageBottomConstraint.secondItem
let attribute2 = imageBottomConstraint.secondAttribute
let multiplier = imageBottomConstraint.multiplier
let constant = 12
let newConstraint = NSLayoutConstraint(item: item, attribute: attribute1, relatedBy: relatedBy, toItem: toItem, attribute: attribute2, multiplier: multiplier, constant: 12)
}
因此,在创建约束程序时,您可以看到我不知道自己在做什么。非常感谢帮助。
答案 0 :(得分:1)
您可以在TableView的heightForRowAt Cell Delegate中管理预期行为
/// Use this function to Set Height of TableCells
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
/// Is index Path More Button is cliked ?
if indexPath.row == selectedIndex
{
/// If yes
return UITableViewAutomaticDimension
}
else
{
/// if No
/// Provide a Static Height That will Set your requiremment
return 160
}
}
selectedIndex 其中单击了更多按钮的索引,我的要求是扩展一个单元格一次,您可以使用数组来管理单元格需要扩展
答案 1 :(得分:0)
您可能无法使用正确的解决方案。我会使用UITableViewAutomaticDimension
使用单元格可以扩展并适应内容的事实。
以下是一个可以帮助您解决特定情况的示例:
https://www.appcoda.com/self-sizing-cells/
这个想法将是:
yourConstraint.active = false
不活动,并通过yourTableView.reloadRows