Abstand zwischen Zellen in UITableView mit Custom UITableViewCell

8

Ich habe eine UITableView, die eine benutzerdefinierte UITableViewCell aus einer XIB-Datei lädt. Alles funktioniert gut, aber mein Layout erfordert, dass die Zellen (alle in einem einzigen Abschnitt) Abstand zwischen ihnen haben. Irgendeine Möglichkeit, die getan werden kann, ohne die Reihenhöhe zu erhöhen?

Wie geht es jetzt?

Wie ist es angebracht,

zu sein?

BEARBEITEN:
So ist der Code heute

%Vor%     
gmogames 25.05.2012, 21:45
quelle

4 Antworten

7

Wenn Sie die Höhe der Zelle nicht ändern können, verwenden Sie die unsichtbare Zwischenstufe  Zellen der erforderlichen Höhe. In diesem Fall müssen Sie die Indizes in der Tabellenansicht und in der Datenquelle neu berechnen.

%Vor%

Sie müssen außerdem indexPath.row für :didSelectRowAtIndexPath: und andere Methoden, in denen es verwendet wird, neu berechnen.

    
A-Live 25.05.2012, 22:29
quelle
36

Es gibt tatsächlich eine ziemlich einfache Lösung, die ich gefunden habe, wenn Sie benutzerdefinierte uitableviewcell Klassen verwenden.

Fügen Sie in der Zellklasse diesen Code hinzu:

%Vor%

Damit erhalten Sie einen 4pt-Puffer innerhalb der Zellenhöhe, den Sie in die uitablview-Klasse setzen, in der Sie diese Zelle aufrufen. Offensichtlich müssen Sie jetzt weniger Speicherplatz in der Zelle ausgleichen, wenn Sie Etiketten und Bilder einfügen, aber es funktioniert. Sie können das Gleiche auch auf der X-Achse tun, um die Breite der Zelle zu verkleinern. Ich habe dies in meiner App getan, um Hintergrundbilder hinter meinen Zellen zu zeigen.

    
Anthony Agby 31.03.2014 02:10
quelle
4

Obwohl @ A-Live technisch korrekt ist, um andere Probleme zu vermeiden, zB: Sie vergessen, einen indexPath.row / 2 irgendwo zu platzieren, können Sie Folgendes tun (was keine Programmierung erfordert):

Sagen Sie zum Beispiel, Ihre UITableViewCell Höhe ist normalerweise 90 Punkte und Sie wollen einen Abstand von 10 Punkten zwischen jeder Zelle. Machen Sie Ihre UITableViewCell 100 Punkte hoch und machen Sie einfach die unteren 10 Punkte der UITableViewCell leer (keine Objekte jeglicher Art). Klicken Sie dann im Interface-Generator auf UITableViewCell und setzen Sie backgroundColor auf die gewünschte Farbe des Abstandsbereichs.

Voila! Sie haben Abstand zwischen jeder Zelle mit ein wenig Arbeit, die viel einfacher ist als Programmierung / 2 überall!

    
iBrad Apps 28.07.2013 03:33
quelle
0

Wenn Sie nach einer Lösung in swift suchen, hat diese Antwort aus reddit perfekt funktioniert für mich.

%Vor%     
codewitch 12.08.2016 10:15
quelle