이 코드를 클릭하면 이미지가 변경됩니다. 하는 .m에서 .H제스처 인식기 및 UIImageView
@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 싶지 않아! 나는 클릭을 처리하고 싶다 – user567