Pourquoi UIView.exclusiveTouch ne fonctionne-t-il pas?
Dans un de mes iPhone de projets, j'ai trois points de vue que vous pouvez vous déplacer en touchant et en faisant glisser. Cependant, je veux arrêter de l'utilisateur de passer à deux points de vue en même temps, à l'aide de deux doigts. J'ai donc essayé d'expérimenter avec UIView.exclusiveTouch, sans succès.
De comprendre comment la propriété fonctionne, j'ai créé un nouveau projet, avec le code suivant dans la vue-contrôleur:
- (void)loadView {
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
UIButton* a = [UIButton buttonWithType:UIButtonTypeInfoDark];
[a addTarget:self action:@selector(hej:) forControlEvents:UIControlEventTouchUpInside];
a.center = CGPointMake(50, 50);
a.multipleTouchEnabled = YES;
UIButton* b = [UIButton buttonWithType:UIButtonTypeInfoDark];
[b addTarget:self action:@selector(hej:) forControlEvents:UIControlEventTouchUpInside];
b.center = CGPointMake(200, 50);
b.multipleTouchEnabled = YES;
a.exclusiveTouch = YES;
[self.view addSubview:a];
[self.view addSubview:b];
}
- (void)hej:(id)sender
{
NSLog(@"hej: %@", sender);
}
Lors de l'exécution de cette, hej: est appelée, avec différents expéditeurs, lorsque vous appuyez sur un des boutons - même si l'un d'entre eux a exclusiveTouch définie sur OUI. J'ai essayé de commenter le multipleTouchEnabled-lignes, en vain. Quelqu'un peut-il m'expliquer ce que je suis en manque ici?
Grâce,
Eli
source d'informationauteur eliego
Vous devez vous connecter pour publier un commentaire.
De L'iPhone OS Guide de Programmation:
Il indique que la touche exclusive propriété n'affecte PAS touche à l'extérieur du cadre de la vue.
À les traiter dans le passé, j'utilise la vue principale pour suivre TOUTES les TOUCHES sur l'écran au lieu de laisser chaque sous-vue de la piste de touche. La meilleure façon est de le faire: