Ho progettato la mia cella personalizzata in IB, l'ho sottoclassata e ho collegato i miei punti vendita alla mia classe personalizzata. Ho tre visualizzazioni secondarie nel contenuto della cella che sono: UIView (cdView) e due etichette (titleLabel ed emailLabel). A seconda dei dati disponibili per ogni riga, a volte voglio avere UIView e due etichette visualizzate nella mia cella e a volte solo due etichette. Quello che sto cercando di fare è impostare i vincoli in questo modo se imposto la proprietà UIView su hidden o la rimuoverò dalla superview, le due etichette si sposteranno a sinistra. Ho provato a impostare il vincolo principale di UIView su Superview (contenuto della cella) per 10px e UILabels che vincolano i vincoli per 10 px alla vista successiva (UIView). Più avanti nel mio codice
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(IndexPath *)indexPath {
...
Record *record = [self.records objectAtIndex:indexPath.row];
if ([record.imageURL is equalToString:@""]) {
cell.cdView.hidden = YES;
}
Sto nascondendo il mio cell.cdView e vorrei che le etichette si spostassero a sinistra, ma si trovano nella stessa posizione in Cell. Ho provato a rimuovere cell.cdView da superview ma non ha funzionato neanche. Ho allegato un'immagine per chiarire di cosa mi occupo.
So farlo in modo programmatico e non sto cercando quella soluzione. Quello che voglio è impostare vincoli in IB e mi aspetto che le mie visualizzazioni secondarie si sposteranno dinamicamente se altre viste vengono rimosse o nascoste. È possibile farlo in IB con auto-layout?
.....