8 Stimmen

Hinzufügen einer UINavigationBar zu einem UITableViewController ohne UINavigationController

Ich habe einen bestehenden UITableViewController, der zuvor in einem UINavigationController verwendet wurde.

Ich muss sie so konvertieren, dass sie als modale Ansicht dargestellt wird. Allerdings möchte ich immer noch eine Navigationsleiste am oberen Rand haben. Ich weiß, das klingt seltsam - warum nicht präsentieren es in der UINavigationController, wenn ich eine UINavBar wollen? Ich möchte es ohne den UITabBarController darstellen, der mit meinem UINavigationController verbunden ist.

Ich habe versucht, die XIB zu öffnen, eine neue Ansicht hinzuzufügen, die UITableView zu einer Unteransicht zu machen und eine Navigationsleiste zu dieser neuen Ansicht hinzuzufügen. Dies scheint jedoch keine Auswirkung zu haben und der gesamte Tableview wird immer noch angezeigt - keine Navigationsleiste ist sichtbar. Ich denke, dies ist, weil die Klasse eine Unterklasse von UITableViewController ist.

Muss ich dies in eine UIViewClass umwandeln? Gibt es einen guten Ansatz zum Hinzufügen einer Navigationsleiste im Code oder über Interface Builder zu einem bestehenden UITableViewController?

Vielen Dank für jeden Rat, wie ich das angehen kann.

15voto

Brian Punkte 15520

Haben Sie die Verbindung in der XIB für die Ansicht "Dateieigentümer" geändert? Sie sollte auf Ihre äußere Ansicht verweisen, die sowohl die Navigationsleiste als auch die Tabellenansicht enthält.

Aber ich verstehe nicht, warum Sie keinen Navigationscontroller verwenden wollen. Machen Sie einfach das hier:

MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navController animated:YES];

Ich mache das immer, wenn ich eine modale Ansicht präsentiere - es scheint sauberer zu sein als eine Navigationsleiste direkt in der Ansicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X