Wie überlappt man UITableViewCells?

7

Wenn Sie sich den Screenshot ansehen, werden Sie feststellen, dass jede UITableViewCell vom oberen Teil bis zur oberen Tabellenansichtszelle 20% überlappt.

Gibt es eine Möglichkeit, Zellen zu überlappen?

    
Tariq 24.10.2012, 09:51
quelle

3 Antworten

13

Ich habe es nie versucht, aber diese Art von Logik wird funktionieren. Denken Sie daran, dass Sie im überlappten Bereich keine Berührung bekommen.

1) Fügen Sie Ihre Unteransicht zu cell.contentView hinzu und stellen Sie sicher, dass die Unteransichtshöhe größer als rowHeight Ihrer tableView ist.

%Vor%

2) Fügen Sie diesen Code hinzu, damit Ihre Zelle keinen Inhalt außerhalb ihres Frames schneidet

%Vor%

3) Jetzt werden sich die Zellen überlappen, aber um die Grenzen der Zelle herum wird eine Clipmarke angezeigt. Um dies zu vermeiden, implementieren Sie die delivery-Funktion von willDisplayCell

%Vor%     
Krishnabhadra 24.10.2012, 10:01
quelle
1

Der Überlappungseffekt kann visuell erreicht werden, indem Sie Ihre Zelle aus zwei Teilen zusammensetzen: eine schmale auf der Oberseite und eine breite auf der Unterseite. Der untere Teil ist einfach: Es ist ein graues Rechteck mit einer Text- / Bildkomponente. Der Trick ist in dem Teil auf der Oberseite.

Die Höhe des oberen Teils entspricht der Höhe der gesamten farbigen Registerkarte. Ihr Programm kann eines von zwei Bildern dort ablegen - entweder eine Registerkarte über einem schmalen grauen Streifen, der den unteren Teil der vorherigen Zelle darstellt, oder eine Registerkarte über einem braunen Hintergrund. Innerhalb Ihres tableView:cellForRowAtIndexPath: überprüfen Sie row . Wenn es Null ist, wählen Sie das Bild mit dem braunen Hintergrund aus; Andernfalls wählen Sie das Bild mit dem grauen Streifen im Hintergrund oben.

    
dasblinkenlight 24.10.2012 10:09
quelle
0

Keine Notwendigkeit, die Zellen zu überlappen. Ihre oberste Zelle sollte folgendermaßen aussehen:

und alle übrigen Zellen sollten wie folgt aussehen:

Ihr tableFooterView sollte nur ein grauer Balken sein (der "Boden" einer Zelle)

    
Ashley Mills 24.10.2012 10:15
quelle