Je travaille sur une application iPhone de paysage. Il fonctionne bien sur l'iPhone mais quand je le lance sur un iPad ou sur le simulateur d'iPad, il a des problèmes avec des touches qui dépassent 320 dans la direction x.iPad Problème de paysage détectant les touches de la partie gauche de l'écran
Beaucoup de UIButtons au-delà de 320 mettront en surbrillance quand ils seront pressés mais ne feront pas leur action.
Quand j'Ajouter à mon superviews:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:self];
NSLog(@"bounds: %1.2f %1.2f touch: %1.2f %1.2f",self.bounds.size.width,self.bounds.size.height,touchLocation.x,touchLocation.y);
}
il ne sera jamais sortie une valeur supérieure à x 320. Toute partie de l'écran pressé qui est supérieure à 320 donne une sortie de 320 pour x.
Les UIViews sont tous réalisés par programme et sans UIViewControllers. J'ai mis le plist pour le lancer dans le paysage et dans le applicationDidFinishLaunching je tourne les vues avec ce:
window.transform = CGAffineTransformMakeRotation((M_PI/2.0));
window.bounds = CGRectMake(0, 0, 480, 320);
window.center = CGPointMake(160.0f, 240.0f);
[window makeKeyAndVisible];
Toute aide est appréciée.
Êtes-vous construire cela comme un " Application universelle? " Lorsque vous l'avez construit pour iPad, avez-vous d'abord suivi les étapes pour créer une version iPad de vos fichiers .nib? –
Non, je le construis comme une application iPhone seulement. – Jamvert
'window.bounds = CGRectMake (0, 0, 480, 320);' définit les limites de l'application comme 480 et 320. Donc je suppose que vous ne pouvez pas toucher au-delà de cela. – visakh7