Этот код был использован для изменения изображения при его нажатии.Устройство распознавания жеста и UIImageView
в .h
@interface MyappViewController : UIViewController
{
NSDictionary *ddata;
UIImageView *firstImage;
}
@property(retain,nonatomic) IBOutlet UIImageView *firstImage;
в ом
- (void)viewDidLoad
{
[super viewDidLoad];
firstImage.userInteractionEnabled = YES;
UIPinchGestureRecognizer *pgr = [[UIPinchGestureRecognizer alloc]
initWithTarget:self action:@selector(clickHandler:)];
pgr.delegate = self;
[firstImage addGestureRecognizer:pgr];
[pgr release];
// [self clickHandler:self];
}
-(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
/* destroy the transition view, set the image first */
UIImageView *transitionImageView = (UIImageView *)context;
self.firstImage.image = transitionImageView.image;
[transitionImageView removeFromSuperview];
transitionImageView = nil;
}
- (void)clickHandler:(id)sender {
/* temporary view for the animation */
NSLog(@"Click Handled ");
UIImageView *transitionImageView = [[UIImageView alloc] initWithFrame:self.firstImage.frame];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[ddata objectForKey:@"pic"]]]];
transitionImageView.image = image;
transitionImageView.alpha = 0.0f;
[self.view addSubview:transitionImageView];
[UIView beginAnimations:@"UpdateImages" context:transitionImageView];
[UIView setAnimationDuration:2.0f];
transitionImageView.alpha = 1.0f;
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];
}
Когда я нажимаю изображение ничего не происходит, но если я называю [само clickHandler: автономный]; в ViewDidLoad изображение изменяется. Моя проблема в том, что щелчок не обрабатывается, когда я нажимаю изображение.
Вы действительно хотите 'UIPinchGestureRecognizer' - это работает только с жесткими жесты. Возможно, вы имели в виду 'UITapGestureRecognizer'? –
@TimKemp ах я не хочу Pinch! Я хочу обработать click – user567