我已经在IB中设计了自定义单元格,并将其子类化,并将我的输出连接到我的自定义类。我在单元格内容中有三个子视图,它们是:UIView(cdView)和两个标签(titleLabel和emailLabel)。根据每行可用的数据,有时我希望在我的单元格中显示UIView和两个标签,有时只显示两个标签。我尝试设置约束,以便如果我将UIView属性设置为隐藏或从superview中删除它,那么这两个标签将向左移动。我尝试将UIView的前导约束设置为Superview(Cell content)10px,UILabels的前导约束设置为下一个视图(UIView)10px。稍后在我的代码中。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(IndexPath *)indexPath {
// ...
Record *record = [self.records objectAtIndex:indexPath.row];
if ([record.imageURL is equalToString:@""]) {
cell.cdView.hidden = YES;
}
}
我正在隐藏我的cell.cdView,希望标签移到左边,但它们仍然停留在Cell中相同的位置。我尝试将cell.cdView从superview中删除,但也没有起作用。我附加了一张图片以澄清我的意思。
我知道如何通过编程实现这一点,但我不想要那个解决方案。我想要的是在IB中设置约束,并期望我的子视图可以根据其他视图的删除或隐藏而动态移动。是否可能使用自动布局在IB中实现这一点?
.....