2010-06-24 14 views
0

J'avais une fenêtre UIAlertView qui fonctionnait bien dans iPhone OS 3.2.3, avec SDK 3.1.3 et XCode 3.2.1. Mais après avoir mis à jour l'iPhone vers OS 4.0 par iTunes, j'ai donc dû mettre à jour le SDK à 4.0 (avec XCode 3.2.3), la fenêtre UIAlertView est trop haute quand j'arrive et ne descend que vers le bon position après avoir tapé textField est tapé avec le clavier sort.AlertView trop élevé avec l'iPhone OS 4

S'il vous plaît voir les captures d'écran ci-dessous:

Comme je n'ai pas 10 réputation d'afficher des images ici, s'il vous plaît se référer à http://www.iphonedevsdk.com/forum/iphone-sdk-development/51160-alertview-too-high-os4.html#post214228 pour les captures d'écran. Désolé pour ça.

Le code correspondant est ci-dessous:

wpName = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)]; 
[wpName setBackgroundColor:[UIColor whiteColor]]; 
[wpName setPlaceholder:@"Your Name"]; 
[describeWP addSubview:wpName]; 

wpDescrip = [[UITextField alloc] initWithFrame:CGRectMake(12, 80, 260, 25)]; 
[wpDescrip setBackgroundColor:[UIColor whiteColor]]; 
[wpDescrip setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter]; 
[wpDescrip setPlaceholder:@"Phone number, Company"]; 
[describeWP addSubview:wpDescrip]; 

CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0, 90); 
[describeWP setTransform:moveUp]; 

Pourriez-vous les gars jeter quelques lumières s'il vous plaît? Merci beaucoup!

Répondre

1

En supposant que describeWP est votre UIAlertView, le problème est que vous déplacez la vue dans votre code. Essayez de supprimer les lignes suivantes:

CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0, 90); 
[describeWP setTransform:moveUp]; 
+1

Merci Will, j'ai finalement trouvé qu'il est le problème du simulateur dans le XCode 3.2.3 pour SDK 4. j'ai découvert le problème et la solution: la fenêtre AlertView seulement sort trop haut lorsque "Base SDK" est réglé sur "Simulator/Device 4.0", peu importe ce que vous avez défini dans "iPhone OS Deployment Target". Après avoir utilisé "Simulator/Device 3.2" pour "Base SDK", la fenêtre AlertView fonctionne correctement. Consultez http://www.iphonedevsdk.com/forum/iphone-sdk-development/51160-alertview-too-high-os4.html pour obtenir des informations pertinentes. – lionfly

+0

Oui dans iOS4, les 2 lignes ci-dessus doivent être supprimées. Ce n'est que dans l'iOS précédent que les 2 lignes ci-dessus sont nécessaires pour ne pas laisser le clavier couvrir un peu de l'alertview. Merci. – lionfly