Ich möchte die Zellengröße erweitern, nachdem ich auf seeMoreBtn in der Zelle geklickt habe.
Die Bezeichnung und die Zellen haben unterschiedliche Längen, aber sie sind eine Einschränkung der Etikettengröße.
Wenn ein Status zu groß ist, habe ich ein seeMoreBtn hinzugefügt, nachdem ich auf see more geklickt habe, wird der verbleibende Text unten gezeigt, und dann, wie man die Beschriftung und die Zellengröße erhöht.
%Vor%Es wäre besser, wenn Sie die UITableViewCell ableiten und die layoutSubviews verwenden, um sie anzupassen, wenn Sie die Größe der Zelle anpassen.
%Vor%Behalten Sie ein Array zum Speichern der selectedIndexPaths bei:
%Vor%Berechnen Sie die Höhe der Zelle:
%Vor%Initialisiere benutzerdefinierte Zeige mehr TableViewCell:
%Vor%Schaltfläche Klick Ereignis Methode:
%Vor%Das gleiche Ereignis wird gegeben, wenn die Zelle ausgewählt ist:
%Vor%Beispiel Demo-Projektlink
Nun, die Idee ist, die Zellenhöhe zu ändern, basierend auf einem Wert, den Sie für die Zelle festgelegt haben. Sie können ein NSArray haben, bei dem Sie für alle Zellen nur einen Wert angeben: isExpanded (true oder false).
Erstellen Sie zur Erinnerung ein NSMutableArray, das den Zellenstatus (erweitert oder nicht) speichert:
%Vor%Initiiere das Array und fülle es mit Nullen für all deine UITableView-Elemente Array. Wenn die Zelle erweitert wird, legen Sie den cellState-ObjektAtIndex-Wert von 0 bis 1 fest (als erweitert markieren).
Laden Sie dann diese Zelle erneut:
%Vor% und ändern Sie die Funktion - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
, um einen größeren Wert zurückzugeben, wenn die Zelle erweitert wird ...
Das ist es!
Tags und Links objective-c iphone uitableview ios