Fügen Sie eine Unteransicht in einem UITableViewController hinzu

8

Ich benutze einen UITableViewController, ich habe die Höhe der Tabellenansicht geändert und etwas nach unten verschoben. Jetzt möchte ich ein UIImageView oberhalb dieser Tabellenansicht hinzufügen, aber das einzige, was ich tun kann, ist das Hinzufügen von UIImageView als Unteransicht der UITtableView von UITableViewController, so dass UIImageView nicht über der UITableView liegt und das Bild mit der Tabelle scrollt sehen.

Wie kann ich erreichen, was ich versuche? Hier ist der Code, den ich benutzt habe:

%Vor%

Danke!

    
MartinMoizard 09.12.2010, 21:39
quelle

3 Antworten

18

Ich glaube, UITableViewController erfordert, dass sein view ein UITableView ist.

In der Vergangenheit habe ich daran gearbeitet, indem ich meinen View-Controller von der Unterklasse UITableViewController in die Unterklasse UIViewController geändert und die Protokolle UITableViewDataSource und UITableViewDelegate implementiert habe. Dann kannst du deine view haben, was auch immer du willst, einschließlich deiner UITableView nach unten verschieben und eine UIImageView hinzufügen.

Nicht sicher, ob das in 4.2 immer noch so ist.

    
Shaggy Frog 09.12.2010, 21:44
quelle
9

BEARBEITEN (16. Dezember 2013)

Ich möchte nur klarstellen, dass dies aus vielen Gründen keine gute Idee ist, von denen einige in den Kommentaren aufgeführt sind. Sie sollten wirklich tun, was Shaggy Frog vorschlägt, oder View Controller Containment verwenden.

Ursprüngliche Antwort

Sie möchten, dass UIImageView am oberen Rand von tableView steht? Wenn dies der Fall ist, müssen Sie es als Unteransicht von UINavigationController festlegen, nicht von UITableView . Am einfachsten ist dies mit [self.view.superview addSubview:tabImageView] . (Wie Shaggy Frog schon sagte, ist es wahrscheinlich das Beste, von einem UITableViewController zu einem einfachen UIViewController zu wechseln und das UITableView manuell zu erstellen)

Wenn UIImageView an UITableView angehängt werden soll, verschwindet es beim Scrollen nach unten. Sie können es einfach als Tabellenkopfzeile mit [self.tableView setTableHeaderView:tabImageView]

festlegen     
Gordon Fontenot 09.12.2010 21:47
quelle
0

Nimm 4 Zellen in deinem statischen UITableView in UITableViewController mit der Höhe von 44 PX & amp; Breite von 320PX . Comment all tableView Delegieren Sie Methoden in UITableViewController.m file und fügen Sie diesen Code ein.

%Vor%

Hoffe, es wird funktionieren.

    
Tulon 08.02.2015 10:12
quelle

Tags und Links