2017-01-05 2 views
0

Ich habe viele customCells jede Zelle kann eine Schaltfläche haben, die wie ein Textfeld oder textArea funktioniert.Wenn die Ansicht lädt, haben sie sehr wenig Höhe.kann die Höhe der CustomCells in swift nicht setzen

override func viewDidLoad() { 

    super.viewDidLoad(); 

    self.view.backgroundColor = UIColor.groupTableViewBackground 
    self.tableView.separatorStyle = UITableViewCellSeparatorStyle.none 
    self.tableView.estimatedRowHeight = 100 
    tableView.rowHeight = UITableViewAutomaticDimension 
    self.tableView.setNeedsLayout() 
    self.tableView.layoutIfNeeded() 

} 

und ich habe die folgenden Einschränkungen für die Zelle überhaupt enter image description here

Will automatische Layout-Arbeiten mit Prototypen Zellen definiert? Wenn nicht wie das zu implementieren? Ich habe versucht mit HeighforrowAtIndexPath-Methode Layout sieht nur nach scroll gut aus. Anfängliche Belastung der Ansicht wird nicht mit gutem Layout kommen.

unten ist mein Code dafür.

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    if (eleData.elementType=="apple") 
    { 
     return 90; 
    } 
else if (eleData.elementType=="banana") 
    { 
     return 50; 
    }  
else 
{ 
    return 30; 
} 

} 

Irgendwelche Vorschläge. Vielen Dank im Voraus.

Antwort

1

schnelle Google-Suche gibt Ihnen die Antwort ...

UITableView dynamic cell heights only correct after some scrolling

Sie müssen Layout hinzufügen, wenn erforderlich, bevor Ihre Zelle in der cellForRowAtIndexPath Methode Rückkehr:

cell.layoutIfNeeded() 
+0

Sie so viel Dank. Es funktioniert jetzt gut. – Dev

+0

Gern geschehen! –

+0

Trotzdem kommt manchmal das gleiche Problem ... Wie kann ich das verhindern? – Dev

Verwandte Themen