Desidero calcolare la dimensione del contenuto del mio UITableView
. Sto usando l'autolayout con altezza UITableViewAutomaticDimension
.UITableView dimensioni del contenuto durante l'utilizzo del layout automatico
Provato per ottenere [UITableView contentsize]
dopo aver ricaricato tableview, in tal caso l'altezza viene calcolata in base a estimatedRowHeight
.
self.tableView.estimatedRowHeight = 50;
self.tableView.rowHeight = UITableViewAutomaticDimension;
Delegato -
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
Cercando di ottenere dimensioni contenuti e assegnarlo a altezza vincolo.
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Qualche suggerimento? Grazie in anticipo.
Edit:
Infine sto risolto il problema con qualche ritocco. Ho modificato l'altezza di Tableview a max (Nel mio caso 300 è max) prima di ricaricare i dati sulla tabella, quindi tableview ha spazio per ridimensionare tutte le celle.
self.tableHeightConstraint.constant = 300;
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Grazie per l'aiuto.
Puoi spiegare il problema in dettaglio? –
Voglio il contenuto di tableview. quindi posso modificare tableview e frame superview rispetto al contenuto. Sto usando autolayout e UITableViewAutomaticDimension. quindi non funziona esattamente. – OMK
Se si utilizza 'Autolayout' non è possibile modificare il frame. Devi giocare con 'NSLayoutContraints'. –