2017-10-12 1 views
1

Evening,IOS SWIFT: AUTORESIZE Auflistungsansicht in einer Tabellenansicht Zelle verschachtelt

Ich habe folgende Gestaltung:

  • rotes Feld: eine Tabellenzeile
  • orane box: ist eine Sammlung Ansicht
  • Blue Box: eine Sammelzelle

Wenn eine Sammlung Ansicht leer ist, würde ich die Zeile mag, oder die collect Ionen Blick auf AUTORESIZE auf 0

Derzeit ich diese bekam:

enter image description here

Deshalb möchte ich die Box auf Höhe der automatischen Größen = 0, wenn es nicht blauer Kasten sind.

Ich weiß, dass ich eine Einschränkung der Auflistung verwenden sollte Höhe und auf 0 gesetzt, wenn leer ist.

Aber ich habe die Steckdose in der Tabellenzelle und die Sammlung delegieren in den View-Controller. Und ich weiß nicht, wie ich das erreichen soll.

Irgendwelche Tipps? Mit einigen Codebeispielen bitte: P

+0

Artikel auf lesen Selbstkalibrierende Tabellenansicht Zellen –

+0

könnten Sie mir den Link mindestens geben? : D –

+0

Hier erfahren Sie, wie Sie die Tabellenansicht für die automatische Größenanpassung einstellen: https://www.appcoda.com/self-sizing-cells/. Ich hoffe das hilft dir! –

Antwort

1

Ich glaube nicht, es ist möglich, die Größe von CollectionView abhängig von seinem Inhalt automatisch zu ändern.

Was Sie tatsächlich tun können, ist das Hinzufügen von Beschränkung der Höhe zu Ihrer CollectionView und setzen Sie es auf 0, wenn es leer ist.

Dann wird Ihre Zelle eigene Höhe haben, wenn Sie Collection unten und oben, um es entsprechend zu verbinden (die Sie möglicherweise bereits getan)

Der letzte Schritt wird tableView.rowHeight zu UITableViewAutomaticDimension setzen . Wahrscheinlich wird es funktionieren :)

+0

Wenn ich UITableViewAutomaticDimension verwenden ignorieren die Tabellenzeilen die Höhe der Sammlungsansicht und reduzieren ... Wahrscheinlich wegen der Sammlung Die Ansicht ist noch nicht festgelegt –

2

Try

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

Funktion zu verwenden. In dieser Funktion wird für die entsprechende Zeile zurückgegeben.

Verwandte Themen