1

J'ai une sous-classe de TTMessageController qui montre ... MAIS elle n'est pas animée même si elle devrait l'être. Le code qui affiche la vue modale ressemble à ceci (où PostToWebMessageController est la sous-classe de TTMessageController:presentModalViewController PAS d'animation lors de l'affichage d'un TTMessageController

if (self.toWebMsgController == nil) { 
    self.toWebMsgController = [[PostToWebMessageController alloc] init]; 
} 

UINavigationController *navController = [[UINavigationController alloc] init]; 
[navController pushViewController:self.toWebMsgController animated:NO]; 

[self presentModalViewController:navController animated:YES]; 

Ce qui se passe bien est ceci: l'écran devient noir ... les rouleaux de clavier vers le haut en vue ... et la vue TTMessageController s'affiche (non animée) Lorsque je ferme la vue via un bouton Annuler, l'écran devient noir et disparaît ensuite (aucune animation à nouveau)

Des idées pour lesquelles cela se produit? nombre d'autres contrôleurs TT * et je ne peux pas en obtenir un pour animer à droite en montrant modalement

anks

MISE À JOUR:

Cela se fait dans chaque UIViewController que j'essaie de présenter de façon modale. L'écran devient noir, le clavier s'anime vers le haut puis affiche les affichages. Des idées pour lesquelles cela pourrait arriver ???

Répondre

2

Un jour pour comprendre cela ... j'espère que quelqu'un va bénéficier de mes douleurs!

Voici ce qui se passe:

Le UIViewController appelant presentModalViewController lui-même est niché dans un UIScrollView qui est contenu dans UN AUTRE UIViewController. Apparemment, le cacao n'aime pas beaucoup ça. Quoi qu'il en soit, pour corriger le problème que je l'ai fait ce qui suit:

  1. Ajouter une propriété de type UIViewController au UIViewController qui présentera un contrôleur de vue modal (par exemple @property (nonatomic, retain) UIViewController *owningController;)

  2. Définir cette propriété = le plus élevé UIViewController (celui qui contient le UIScrollView dans ce cas)

  3. dans le UIViewController qui montre la vue modale ... changer cette

[self presentModalViewController: contrôleur animé: OUI];

à cette ...

[owningController presentModalViewController:controller animated:YES]; 
+0

Salut, je suis coincé avec le même problème avez-vous du code que vous pourriez partager? Merci – MonkeyBlue

0

Je ne sais pas pourquoi vous utilisez un UINavigationController. Si c'est parce que vous voulez que votre contrôleur de toWebMsgController d'avoir une barre de navigation lors de son chargement dans la vue modale, essayez les modifications suivantes à votre code:

if (self.toWebMsgController == nil) { 
    self.toWebMsgController = [[PostToWebMessageController alloc] init]; 
} 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:toWebMsgController]; 

//[navController pushViewController:self.toWebMsgController animated:NO]; 

[self presentModalViewController:navController animated:YES]; 

Si vous ne souhaitez pas une barre de navigation dans votre modal vue, vous n'avez probablement pas besoin d'UINavigationController.

+0

Non ... les résultats dans la même comportement. BTW, j'ai essayé de montrer sans le contrôleur de navigation et le comportement est le même aussi bien. – wgpubs

+0

Hmmm. Je ne suis pas sûr de ce que ça pourrait être alors. Je n'ai jamais eu de difficulté à présenter les contrôleurs TT * de façon modale avec de l'animation. Je n'ai jamais utilisé TTMessageController mais comme iPhoneSDK 3+ a le MFMailComposeViewController natif disponible. Êtes-vous capable de présenter un contrôleur non-TT * correctement à partir de votre classe UIViewController? –

+0

En fait oui ... ça se passe avec tous mes contrôleurs maintenant. J'utilise FTUtils, ASIHTTPRequest et Three20 dans le projet, donc je me demande s'il y a un conflit ??? Je reçois un certain nombre d '"avertissements" sur le fait que "RGBACOLOR" soit redéfini ... mais rien d'autre. – wgpubs

0

j'avais même question.

Vérifiez que le contrôleur racine (si vous le contrôleur présent au-dessus) pour presentationStyle ne précise pas à UIModalPresentationCurrentContext