Implementare questo metodo delegato UITableView. Ogni volta che una fila di cellule crearla assegnare altezza per ogni cella
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60.0f;
}
e implementare questo codice nel metodo viewDidLoad
[yourTableView setFrame:CGRectMake(yourTableView.frame.origin.x, yourTableView.frame.origin.y, yourTableView.frame.size.width,(60.0f*([yourArray count])))];
Nota: - yourArray è un NSArray che contengono dati che quanti fila che si desidera per cassa.
O
Se yourArray valore recuperarli in modo dinamico quindi chiamare questo metodo dopo il recupero valore.
-(void)setHeightOfTableView
{
/**** set frame size of tableview according to number of cells ****/
float height=60.0f*[yourArray count];
[yourTableView setFrame:CGRectMake(yourTableView.frame.origin.x, yourTableView.frame.origin.y, yourTableView.frame.size.width,(60.0f*([yourArray count])))];
}
Spero che funzioni. Grazie
Grazie per il tempo dedicato a risolvi questo problema. Ho iniettato il codice (adattato per il mio caso) nel mio metodo viewDidLoad, ma non ridimensiona UITableView. –
Ho aggiunto un altro esempio per te, spero che aiuti. –
beh, trovare il numero di celle non è il problema e nemmeno calcolare l'altezza. È il fatto che l'altezza del frame TableView non cambia (è forse perché il mio codice vive in ViewDidLoad? –