2010-06-28 9 views
0

Je veux afficher l'image dans la barre de navigation au lieu d'un bouton de retour avec une action. Alors maintenant, j'ai utilisé l'affichage de l'image et affiché l'image dans la barre de navigation. Maintenant, je veux écrire les actions pour l'affichage de l'image, lorsque vous appuyez sur ou cliquez sur l'image. Est-il possible d'écrire une action pour l'affichage de l'image?Comment puis-je écrire les actions pour l'affichage de l'image lorsque je le touche dans iPhone-OS 4.0

Je travaille actuellement sur iPhone OS 4.0.

Veuillez consulter my previous question.

Voici mon code:

 UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(0,5,40,40)]; 
    [self.navigationController.navigationBar addSubview:view1]; 
    view1.backgroundColor = [UIColor clearColor]; 

    UIImage *img = [UIImage imageNamed:@"Back.png"]; 
    UIImageView *imgView = [[UIImageView alloc] initWithImage:img]; 
    [view1 addSubview:imgView]; 

Comment puis-je écrire les actions pour voir l'image?

Répondre

2

Avant iOS 3.2, vous auriez besoin d'un sous-ensemble de UIImageView et implémenter les gestionnaires tactiles. Ou remplacez votre UIImageView par un UIButton avec un type personnalisé.

Avec iOS 3.2+, UIGestureRecognizer est ce qui vous permet d'accomplir vos tâches de manière efficace - il vous suffit d'ajouter la photo appropriée à votre vue.

0

N'ajoutez pas de vue directement à la barre de navigation à moins que vous ne soyez prêt à l'interrompre dans une future version du système d'exploitation.

UIButton * b = [UIButton buttonWithType:UIButtonTypeCustom]; 
b.image = [UIImage imageNamed:@"Back.png"]; 
b.frame = (CGRect){{0,0},{40,40}}; 
[b addTarget:self action:@selection(wahatever) forControlEvents:UIControlEventTouchUpInside]; 
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:b] autorelease];