2017-09-17 4 views
1

Ich weiß, wie UITableViewCells selbst Größe in UITableView machen. Die Frage ist, wie man sich nur eine bestimmte Zelle selbst anpasst. Ich habe vier verschiedene benutzerdefinierte UITableView-Zellen in meiner Tabelle und ich möchte nur eine Zelle selbst Größe selbst machen.Self-Sizing-spezifische UITableView Cell

+1

Sie können Ihr Handy indexPath zum Beispiel überprüfen, und wenn Zeile == 0 ist, dann wieder 'UITableViewAutomaticDimension' –

Antwort

1

Sie müssen wissen, welche Zeilen, die Sie wollen Implementieren Sie die UITableViewAutomaticDimension für, denn wenn, wenn heightForRowAt heißt, keine Zellen erstellt werden, so dass Sie nicht überprüfen können, den Zellentyp ye, deshalb müssen Sie die indexPath.row stattdessen überprüfen.

So etwas wie dies zum Beispiel:

switch indexPath.row { 
case 0: 
    return 100 
case 1,2,3: 
    return UITableViewAutomaticDimension 
default: 
    return 100 
} 
+0

Das hat funktioniert, vielen Dank. –

+0

@uzairshahzad, np. Du hast die angenommene Antwort geändert, warum, wenn ich fragen darf. –

+0

Opps, tut mir leid. Das war aus Versehen, berichtigte es. –

1

Sie können überprüfen, welche Zelle Sie müssen dinamicHeigth zurückzukehren und in func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat Rückkehr UITableViewAutomaticDimension nach

Beispielcode mit der Zeile 0 als Bedingung

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 

     if(indexPath.row == 0) 
     { 
      return UITableViewAutomaticDimension 
     } 

     return 88 
    } 
+0

Wie wissen Sie, dass OP die erste Zelle will? –

+0

Ich benutze Beispielcode nur @RashwanL, dass Bedingung kann jede sein –