Hinzufügen von benutzerdefinierten Ansicht über tab bar controller/navigation-controller?
Habe ich versucht den folgenden code, in einem Versuch, um die benutzerdefinierte Ansicht anzeigen oberhalb der tab-bar-controller (vor, die eine navigation controller innerhalb der tabs).
Das problem ist, dass es overlays auf der oberen Navigationsleiste, und ich möchte, dass die Navigationsleiste nach unten bewegt werden.
Ich habe versucht, den Rahmen der tab-bar-controller, aber das ging nicht, verschieben Sie es an alle.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Override point for customization after application launch.
//Add the tab bar controller's current view as a subview of the window
//self.tabBarController.view.frame = CGRectMake(0, 62, 320, 320);
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
//setting up the header view
self.headerView = [[HeaderView alloc] initWithFrame:CGRectMake(0, 20, 320, 42)];
[self.window addSubview:self.headerView];
//setting up facebook stuff
AgentSingleton *agentSingleton = [AgentSingleton sharedSingleton];
agentSingleton.facebook = [[Facebook alloc] initWithAppId:APP_ID];
return YES;
}
Irgendwelche Ideen?
InformationsquelleAutor xil3 | 2011-07-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es nicht wirklich eine gute Möglichkeit, dies zu tun. Die verschiedenen Untersichten von UINavigationController und UITabBarController sind sowohl private, und versucht zu Chaos mit, Sie ist wahrscheinlich nicht korrekt. Und Apple gibt uns nicht die Werkzeuge zum erstellen von "container" - view-Controller, so können Sie nicht ohne weiteres einbetten der UINavigationController/UITabBarController innerhalb einer anderen view-controller oder neu UINavigationController/UITabBarController selbst.
Ihre beste Wette ist wahrscheinlich, gehen Sie vor und versuchen, zu erstellen Ihre eigenen "container" - view-controller, und befassen sich mit einige Dinge nicht richtig funktioniert. Insbesondere die enthaltenen view-controller ist
parentViewController
zurückkehren wird, gleich null, und daher diverse andere Dinge, auf die enthaltenen view-controller oder seine sub-Controller wird defekt sein (z.B. dieinterfaceOrientation
Eigenschaft wird falsch sein,presentModalViewController:animated:
möglicherweise nicht richtig funktionieren). Andere Dinge kann gebrochen werden, auch.Oder Sie können warten, bis eine zukünftige version von iOS tatsächlich hat die Unterstützung für uns zu erstellen-container-view-Controller (wenn überhaupt), und dann nur diese version und bis.
Fügen Sie die Ansicht der tabBarController Ansicht selbst:
Könnte man einfach zu window addSubview:
Können Sie etwas tun:
Meinst du, wie Sie oben in vertikal über den rest des Inhalts?
Oder oben, wie im sitzen auf dem rest des Inhalts?
Gibt es presentModalViewController:animiert: aber ich bezweifle, dass das, was Sie wollen?
Kann ich nicht kommentieren, deshalb Schreibe ich das hier für alle anderen, die auf dieser Seite. Die Antwort von Borut, die wurde runter gevotet war eigentlich der einfachere und richtigere Antwort.
Er einfach nicht versorgen Sie mit den richtigen Richtungen. Sie müssen fügen Sie die benutzerdefinierte Ansicht, um das Fenster für Ihre Anwendung erklärt in Ihrem AppDelegate (in Mono-wäre dies AppDelegate.Fenster.Add(myView), nicht in der aktuellen Ansicht-Fenster, welches null ist (z.B. dieser.Blick.Fenster).
Dies funktioniert gut in Xamarin/Mono und ich kann nicht sehen, warum es würde nicht das gleiche für Obj-C den richtigen code.
Ich hatte das gleiche problem und endete damit, dass so etwas wie dieses:
Hinzufügen der Blick auf den tabBarController und mit dem Rahmen der aktuellen tabbar wie Sie die position der neuen Ansicht hat den trick.