最佳答案
我已经在IB中设计了我的自定义细胞,子类化它,并将我的outlet连接到我的自定义类。我有三个子视图在单元格的内容是:UIView (cdView)和两个标签(titleLabel和emailLabel)。取决于每行可用的数据,有时我想在单元格中显示UIView和两个标签,有时只有两个标签。我要做的是设置约束如果我将UIView属性设置为隐藏或者我将它从superview中移除两个标签就会移到左边。我尝试将UIView的引导约束设置为10px的Superview (Cell content)和10px的UILabels引导约束到下一个视图(UIView)。在代码的后面
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(IndexPath *)indexPath {
// ...
Record *record = [self.records objectAtIndex:indexPath.row];
if ([record.imageURL is equalToString:@""]) {
cell.cdView.hidden = YES;
}
}
我把手机藏起来了。cdView和我想要标签移动到左边,但他们在细胞中保持相同的位置。我试着移除细胞。cdView从superview,但它也没有工作。我附上了图片,以澄清我是什么。
我知道如何通过编程来做到这一点,我不是在寻找解决方案。我想要的是在IB中设置约束,我希望如果其他视图被删除或隐藏,我的子视图将动态移动。有可能在IB自动布局中做到这一点吗?
.....