L'action du button ne fonctionne pas dans l'iphone?

J'ai une application d'IPhone dans laquelle j'ajoute une vue faite sur command d'une vue de barre de navigation. Je cache cette vue faite sur command dans le cas normal et la montre quand nécessaire. Maintenant j'ajoute un button à cette vue faite sur command. mais quand je clique dessus il n'y a pas d'action qui fonctionne.peut-on m'aider? Voici mon extrait de code dans la vue

curtainsView=[[UIImageView alloc]init]; curtainsView.image=[UIImage imageNamed:@"curtains.png"]; curtainsView.frame=CGRectMake(0,-44, 320, 60); curtainsView.backgroundColor=[UIColor clearColor]; UIImage *button2Image = [UIImage imageNamed:@"scroll_down.png"]; scroll = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; self.scroll.tag=100; [scroll setImage:button2Image forState:UIControlStateNormal]; self.scroll.frame = CGRectMake(270,0, 40,40); [scroll addTarget:self action:@selector(backpressed:) forControlEvents:UIControlEventTouchUpInside]; [self.curtainsView addSubview:scroll]; [self.view addSubview:curtainsView]; [self changeNavigationBarTitleTo:@""]; [curtainsView setHidden:YES]; 

Vous devez activer l'interaction de l'user de rideauxView.

Essaye ça:

 [curtainsView setUserInteractionEnabled:YES] 

De la reference de class UIImageView d'Apple

Les nouveaux objects d'affichage d'image sont configurés pour ne pas tenir count des events user par défaut. Si vous souhaitez gérer des events dans une sous-class personnalisée de UIImageView, vous devez modifier explicitement la valeur de la propriété userInteractionEnabled à YES après l'initialisation de l'object.

Vérifiez la signature de la méthode backPressed . J'ai trébuché au début sans me rendre count que @selector(backpressed:) search:

 -(void)backPressed:(id)sender { // the colon indicates the first argument 

Si votre signature n'a pas d'argument d'expéditeur, vous devrez en append un ou supprimer le @selector deux-points du @selector . C'est à dire:

 -(void)backPressed 

Je ne connais pas votre code entier pourquoi vous cachez la vue, mais ce que je veux dire qui ajoute votre UIButton à votre self.view au lieu de self.curtainsView .
Faites juste un petit changement dans votre code.

 [self.view addSubview:curtainsView]; [self.view addSubview:scroll]; 

Activer l'interaction de l'user de rideauxView.

 [curtainsView setUserInteractionEnabled:YES]