La causa di questo è che il viewController antenato non è impostato correttamente. per esempio immaginare:
UIViewController * myController = ... // a view controller without a proper ancestor
ora:
myController.tabBarController == nil
Pertanto:
[myController presentModalViewController:otherController];
fallirà (presentandosi sotto la barra delle schede). La correzione è quello di aggiungere myController al suo antenato tramite
[parentController addChildViewController:myController];
Ora, parentController
deve essere aggiunto ad un altro controllore nello stesso modo e così via fino a quando quello principale è il vostro tabController. Questo è disponibile solo su iOS 5+. Se build per iOS 4 o versioni precedenti, dovrai aggirare il problema assicurandoti che tutti i controller vengano aggiunti direttamente a un controller UINav o UITab. Se questo non è possibile, dovrai accedere a UITabBarController tramite una variabile globale.
ho usato globale Grazie, –