我正在使用应用程序,允许用户分享照片,如Instagram。用户可以使用或不使用标题发布照片,因此标题可能为空,照片仍会发布到其Feed中。我的客户想要在标题为空时删除视图,并且我使用带有自动布局的uitableview单元格作为帖子。当我尝试将captionview高度约束连接到我的viewcontroller时,它给出了一个错误,它表示 约束出口无法连接到重复内容 。所以,我试着在我的代码中做到这一点,但它并没有改变任何东西。
let captionString = object["caption"] as? String
let captionView = cell.contentView.viewWithTag(111)
if captionString == ""{
captionView?.frame = CGRectMake(0 , 0, captionView!.frame.width, 0)
}else{
(cell.contentView.viewWithTag(12) as! UILabel).text = captionString
}
我把上面的代码放在 tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) - > UITableViewCell ,我在uitableviewcell内的每个视图中给出约束,所以如果我可以更改captionView高度,其他视图将自动调整大小。如何更改captionView的高度?
答案 0 :(得分:0)
此处的相关信息:
Outlets cannot be connected to repeating content iOS
当您使用无效且无法正常工作的自动布局时,您无法设置框架。
要么有2种不同类型的单元格,要根据数据可用性选择哪一种出列,或者添加约束以便将标签高度折叠为零。
答案 1 :(得分:0)
您可以创建高度约束的出口并设置高度0
喜欢:
@IBOutlet var captionViewHeightConstraint: NSLayoutConstraint!
captionViewHeightConstraint.constant = 0