Я разработал свою собственную Cell в IB, подклассифицировал ее и подключил свои выходные данные к своему пользовательскому классу. У меня есть три представления в содержимом ячеек: UIView (cdView) и две метки (titleLabel и emailLabel). В зависимости от данных, доступных для каждой строки, иногда я хочу иметь UIView и две метки, отображаемые в моей ячейке, а иногда только две метки. То, что я пытаюсь сделать, - это установить ограничения таким образом, если я установлю свойство UIView на скрытое, или я удалю его из супервизора, эти метки будут перемещаться влево. Я попытался установить ограничение UIView на Superview (содержимое ячеек) для 10px и UILabels, ведущих ограничения для 10 px для следующего представления (UIView). Позже в моем коде
-(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 из супервизора, но он тоже не работал. Я приложил изображение, чтобы уточнить, о чем я говорю.
Я знаю, как это сделать программно, и я не ищу этого решения. Я хочу установить ограничения в IB, и я ожидаю, что мои подзаголовки будут динамически перемещаться, если другие виды будут удалены или скрыты. Возможно ли это сделать в IB с автоматической компоновкой?
.....