Ich habe meine benutzerdefinierte Zelle in IB entworfen, sie in Unterklassen unterteilt und meine Steckdosen mit meiner benutzerdefinierten Klasse verbunden. Ich habe drei Unteransichten im Zelleninhalt: UIView (cdView) und zwei Labels (titleLabel und emailLabel). Abhängig von den für jede Zeile verfügbaren Daten möchte ich manchmal, dass UIView und zwei Beschriftungen in meiner Zelle angezeigt werden und manchmal nur zwei Beschriftungen. Ich versuche, Einschränkungen auf diese Weise festzulegen, wenn ich die UIView-Eigenschaft auf versteckt setze oder sie aus der Übersicht entferne. Die beiden Beschriftungen werden nach links verschoben. Ich habe versucht, die führende UIView-Einschränkung für 10 Pixel auf Superview (Zelleninhalt) und für 10 Pixel auf UILabels führende Einschränkung für die nächste Ansicht (UIView) zu setzen. Später in meinem Code
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(IndexPath *)indexPath {
...
Record *record = [self.records objectAtIndex:indexPath.row];
if ([record.imageURL is equalToString:@""]) {
cell.cdView.hidden = YES;
}
Ich verstecke meine cell.cdView und möchte, dass die Beschriftungen nach links verschoben werden, jedoch in Cell an derselben Position bleiben. Ich habe versucht, cell.cdView aus der Übersicht zu entfernen, aber es hat auch nicht funktioniert. Ich habe ein Bild angehängt, um zu verdeutlichen, worum es mir geht.
Ich weiß, wie man das programmgesteuert macht, und ich suche nicht nach dieser Lösung. Ich möchte Einschränkungen in IB festlegen und erwarte, dass sich meine Unteransichten dynamisch verschieben, wenn andere Ansichten entfernt oder ausgeblendet werden. Ist dies in IB mit Auto-Layout möglich?
.....