7

Ich habe Tab-Leiste und in der Ansicht "A" und in "A" habe ich Navigation Controller. SO in meinem Navigationscontroller in "A" rief ichWie man modalviewcontroller über der Tableiste zeigt

Aber ModalView zeigt unter Tab-Leiste. Wie zeige ich es über der Tableiste an?

[self.tabBarController presentModalViewController:modalView animated:YES]; 

Antwort

1

Die Ursache hierfür ist, dass der Vorfahr Viewcontroller wird nicht korrekt:

+0

habe ich global Danke, –

14

Try modale Ansicht von UITabBarController zu präsentieren. zum Beispiel vorstellen:

UIViewController * myController = ... // a view controller without a proper ancestor 

jetzt: Deshalb

myController.tabBarController == nil 

:

[myController presentModalViewController:otherController]; 

fehl (durch unter der Tab-Leiste zeigt nach oben). Das Update ist MyController seine Vorfahren über

[parentController addChildViewController:myController]; 

Jetzt hinzufügen, parentController muß in gleicher Weise auf einem anderen Controller hinzugefügt werden, und so weiter, bis die Wurzel eines Ihres tabController ist. Dies ist nur in iOS 5+ verfügbar. Wenn Sie für iOS 4 oder früher erstellen, müssen Sie dies umgehen, indem Sie sicherstellen, dass alle Ihre Controller direkt einem UINav- oder UITab-Controller hinzugefügt werden. Ist dies nicht möglich, müssen Sie über eine globale Variable auf den UITabBarController zugreifen.

+0

Modal-View-Controller überhaupt nicht zeigen, ((( –

+0

Ihre TabBarController zeigt sich als nil hier. – George

1

In meinem Fall die präsentierten View-Controller UIModalPresentationStyle.CurrentContext bei .modalPresentationStyle hatte, die die tab bar Überlappung gemacht

+0

Hey, könntest du dieses Problem lösen? Ich stehe vor dem gleichen Problem.: –

+0

@YashBedi, ja, ich habe den modalen Darstellungsstil auf den Standardwert gesetzt. In meinem Fall wurde der modale Darstellungsstil geändert ein Standard durch einen Unfall – Tim

+0

ohkay kewl danke, –

Verwandte Themen