2017-07-20 1 views
1

Ich versuche, meine Zelle zu aktualisieren, nachdem sie die richtige Größe erhalten. Gibt es ein Äquivalent von viewDidLayoutSubviews für UITableViewCell?viewDidLayoutSubviews entspricht für UITableViewCell

Momentan füge ich eine 0.1 Verzögerung hinzu, um die Zelle zu aktualisieren, aber ich denke, dass es einen besseren Ansatz geben sollte.

double delayInSeconds = 0.1; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     [self layoutSubviews]; 
    }); 
+1

nennen diese beiden Methoden außer Kraft zu setzen, wenn Sie die Ansicht aktualisieren möchten. 'setNeedsLayout und layoutIfNeeded' – Balasubramanian

+0

das funktioniert auch. Vielen Dank! Es ist seltsam, dass Apple nicht nur eine Methode hat, die sagt, ob das Rendering gemacht wurde. – ordinaryman09

Antwort

2

Vielleicht können Sie versuchen, UITableViewCell.layoutSubviews Methode

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    [self.contentView layoutSubviews]; // this does the trick 
} 
+0

interessant. das funktioniert. Danke! – ordinaryman09