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
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.
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.
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!
Tags und Links objective-c iphone uitableview cocoa-touch