Wie kann ich eine UIView oberhalb des sichtbaren Bereichs eines UITableView hinzufügen?

8

Ich verstehe, dass es eine tableHeaderView-Eigenschaft gibt, aber wenn ich meine Ansicht dazu hinzufüge, ist sie nicht über dem Bildlaufbereich verborgen.

Was ich gerne hätte, ist, dass meine benutzerdefinierte Ansicht angezeigt wird, wenn Sie die Tabellenansicht herunterziehen und halten, und Sie sehen, dass meine UIView in Sicht gebracht wird. Dies geschieht bei vielen Apps, um ein Logo oder ein solches etwas versteckt zu platzieren, bis ein Nutzer den Tableview herunterzieht (Twitter / Facebook beim Pulldown).

Ich benutze derzeit das Folgende und es stellt es nicht aus der Sicht heraus:

%Vor%     
Nic Hubbard 28.02.2011, 23:38
quelle

4 Antworten

13

Da UITableView eigentlich ein UIScrollView mit einigen zusätzlichen Funktionen ist, können Sie contentInset verwenden, um den gewünschten Effekt zu erhalten. Der Trick besteht darin, einen negativen Wert für den obersten Einsatz zu verwenden. Dies wird normalerweise Ihre Header-Ansicht ausblenden, aber es wird weiterhin sichtbar sein, wenn die Tabelle springt.

Nachdem Sie die Beschriftung der Header-Ansicht hinzugefügt haben, setzen Sie einfach den contentInset wie folgt:

%Vor%     
Andrei Stanescu 01.03.2011, 01:23
quelle
1

Die beste Lösung hier ist, Ihre Ansicht der Kopfzeile hinzuzufügen, wie Sie es bereits erwähnt haben, und dann scrollen Sie in der ViewDidLoad Ihres Controllers die Tabellenansicht programmatisch nach unten, bis die gewünschte Kopfzeilenansicht ausgeblendet wird. Dies kann auf verschiedene Arten geschehen. Das einfachste ist wahrscheinlich:

%Vor%     
Micah Hainline 28.02.2011 23:42
quelle
0

Sie haben einfach eine Kopfzeile mit einer Höhe von 0 und dann eine Unteransicht, die mit einem negativen y positioniert ist, so dass die Unterkante der Unteransicht die Oberkante der Ansicht ist.

    
user102008 26.10.2012 01:32
quelle
0
%Vor%     
jianpx 25.12.2013 09:12
quelle

Tags und Links