Implementieren Sie diese UITableView Delegatmethode. Jedes Mal, wenn eine Zeilenzelle schafft es Höhe
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 60.0f;
}
jede Zelle zuweisen und diesen Code in viewDidLoad Methode
[yourTableView setFrame:CGRectMake(yourTableView.frame.origin.x, yourTableView.frame.origin.y, yourTableView.frame.size.width,(60.0f*([yourArray count])))];
Hinweis implementieren: - yourArray ist eine NSArray, die Daten enthalten, dass, wie viele Zeilen Sie wollen kisten.
OR
Wenn yourArray Abrufen Wert nennt dynamisch dann diese Methode nach dem Wert abgerufen werden.
-(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])))];
}
Ich hoffe, es funktioniert. Dank
Danke, dass Sie sich die Zeit nehmen zu Löse dieses Problem. Ich habe Ihren (für meinen Fall angepassten) Code in meine viewDidLoad-Methode injiziert, aber die Größe von UITableView wird nicht geändert. –
Ich habe ein anderes Beispiel für Sie hinzugefügt, hoffe es hilft. –
Nun, die Anzahl der Zellen zu finden ist nicht das Problem und die Berechnung der Höhe ist auch nicht. Es ist die Tatsache, dass sich die Höhe des tableView-Rahmens nicht ändert (liegt das vielleicht daran, dass mein Code in ViewDidLoad lebt? –