swift2 斯威夫特:我怎样才能从代码中删除插座?

cigdeys3  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(192)

我有一个视图的高度出口。它被设置为55。在一个tableview中我使用过它。有些地方我需要一个静态高度,有些地方不需要高度。所以我想从我的代码中删除这个静态高度。我如何才能做到这一点?有可能吗?

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        if(heightIsStatic.count> 0)
        {
     //here i require a static height and is working fine as height can   
     //be printed as 55
        }
        else
        {
            self.ViewHeight.active = false
            print(self.ViewHeight.constant)
        }
    }

即使我已经将active设置为false,它仍然显示静态高度约束。我可以在其他情况下删除静态高度吗?

6fe3ivhb

6fe3ivhb1#

如果你想要else部分的动态大小,那么你必须删除outlet的约束,然后在你的代码中,你必须找到约束,然后改变它的常量或删除,如果需要的话

for constraint in view.constraints {
    if(constraint.firstAttribute == NSLayoutAttribute.height)
    {
         constraint.constant = 55
    }
}
bis0qfac

bis0qfac2#

如果我没理解错你的问题,请试试这个(假设单元格的约束是正确的)

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
 if (indexPath.row == 1) { //change this with the row number
  return 55.0
 }

 return UITableViewAutomaticDimension
}

请评论,如果你没有一个具体的行,我会编辑我的答案。谢谢!

相关问题