2017-10-30 2 views
-2

Ich möchte eine Ansicht wie folgt erstellen, um einige lange Text anzuzeigen. habe einige Pods dafür, aber ich möchte das programmatisch machen.eine Ansicht auf tippen hat eine Ansicht für eine Beschreibung darüber

danke im voraus.

erstes Bild -> die Ansicht vor Tippen.

zweites Bild -> Ansicht nach dem Tippen.

first imagesecond image

+1

Haben Sie etwas für sich selbst versucht? Jede Forschung? Von deinen Bildern geht es darum, die 'UITableViewCell' zu erweitern. Sie sollten über 'UITableView' und' UITableViewCell' lesen. Es ist wirklich sehr einfach zu erreichen. –

+0

können Sie auch Third-Party-Bibliothek wie folgt versuchen: https: //github.com/jeantimex/ios-swift-collapsible-table-section –

+0

Zeigen Sie, was Sie bereits versucht haben. – PGDev

Antwort

0

Wenn Sie eine schnelle Arbeitslösung benötigen, können Sie dies versuchen.

erstellen TableViewCell mit zwei Labels: Titel Etikett mit fester Höhe (von 48 sagen lassen) und eine Beschreibung Etikett (mehrzeilige)

in einem Array für jede Zelle Höhen pflegen, die standardmäßig es um die Höhe der Titeletikett halten, nur das Titeletikett zeigen (zB itemHeights = [48,48,48]

Wenn Sie wählen Zelle, in der Delegatmethode "didSelectRowAt:", die Höhe wechseln

if self.itemHeights[indexPath.row] == UITableViewAutomaticDimension { 
      self.itemHeights[indexPath.row] = 48 
} else { 
      self.itemHeights[indexPath.row] = UITableViewAutomaticDimension 
} 
self.tableView.reloadRows(at: [indexPath], with: .automatic) 

innerhalb Delegatmethode „heightForRowAt : ", gebe das aktualisierte zurück Höhe

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
     return self.itemHeights[indexPath.row] 

}

Hinweis: Dies ist nur eine Abhilfe, die Sie fast das gleiche Ergebnis, aber mit einigen ruckelt Animation gibt.

Verwandte Themen