2010-10-09 8 views
0

Je travaille sur une application iPhone assez simple en ce moment. J'ai un UIWebView avec un UIToolBar au bas de celui-ci avec un bouton dessus. Je l'ai construit à travers le code, bien que j'ai créé un NIB vide car j'espère que Facebook Connect fonctionnera finalement avec lui et que j'ai eu des problèmes quand je ne l'ai pas configuré avec ce NIB vide dans le passé ...iPhone UIImagePickerController pousse le contenu vers le bas

J'ai ajouté un autre bouton qui se trouve juste au milieu de la page (à des fins de test pendant la construction) qui appelle une UIActionSheet. Lorsque vous sélectionnez un bouton sur la feuille UIActionSheet, le UIImagePickerController surgit au-dessus de tout, afin de sélectionner une image de ma pellicule.

Le problème est que lorsque mon UIImagePickerController a fermé (soit en sélectionnant une image ou en appuyant sur le bouton d'annulation), tout le contenu de ma page a été poussé vers le bas par 20 pixels ...

Bien qu'il Il est vrai que je pourrais juste décaler les images de tous mes éléments de 20 pixels, ce qui me semble "hacky", et bien que j'adore pirater, je préférerais comprendre pourquoi cela se passe.

Est-ce que quelqu'un a déjà rencontré ça? Comment l'avez-vous réparé?

Merci,

-D

Répondre

0

est votre application une application plein écran? UIImagePickerController fait apparaître la barre d'état. Faire la méthode qui supprime UIImagePickerController cacher la barre d'état aussi.

+0

Mon application actuelle n'est pas en plein écran, malheureusement, la barre d'état sera là à tout moment grâce à l'application ... – dewberry

0

J'ai un problème similaire avec l'utilisation du MFMailComposeViewController. Quand je le rejette, l'écran descend de 20 pixels. J'imagine que cela a quelque chose à voir avec IB, car le mien a agi un peu récemment. Il pense qu'il y a une barre d'état à mon avis même s'il n'y en a pas. Jusqu'à ce que je trouve la bonne solution, j'utilise CGRectMake pour "réparer" le problème.

Je place le code suivant au bas de la méthode didFinishWithResult. C'est la méthode appelée quand je rejette le MFMailComposeViewController. Vous pouvez probablement placer le même code lorsque vous fermez UIImagePickerController.

self.view.frame = CGRectMake (0, 0, 320, 480);

si vous trouvez le bon amour id solution pour le savoir :)

0

Réglez le navigationController.view.frame à CGRectMake (0, 0, 320, 460) en viewWillAppear. Si vous prenez en charge le format paysage, vous devrez alors faire CGRectMake (0, 0, 480, 300) si vous êtes en mode paysage.

Bonne chance!

Questions connexes