如何制作可放大的可点击图像区域&在iOS中

时间:2015-04-09 11:14:34

标签: ios objective-c uiimageview

我有一个图像作为背景,我想让这个图像的某些部分可以通过放大和缩小来点击,有没有办法做那样的事情?

2 个答案:

答案 0 :(得分:0)

不要为手势识别器创建新视图。识别器实现了locationInView:方法。为包含敏感区域的视图设置它。在handleGesture上,按照以下方式对您关注的区域进行测试:

0)在包含您关注的区域的视图上执行所有操作。不要仅为手势识别器添加特殊视图。

1)设置mySensitiveRect

 @property (assign, nonatomic) CGRect mySensitiveRect;
  @synthesize mySensitiveRect=_mySensitiveRect;
  self.mySensitiveRect = CGRectMake(0.0, 240.0, 320.0, 240.0);

2)创建你的gestureRecognizer:

gr = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture :)];     [self.view addGestureRecognizer:gr];     //如果不使用ARC,你应该[gr release];     // mySensitiveRect coords位于self.view

的坐标系中
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer {
    CGPoint p = [gestureRecognizer locationInView:self.view];
    if (CGRectContainsPoint(mySensitiveRect, p)) {
       //Add your zooming code here
    } else {
        NSLog(@"got a tap, but not where i need it");
    }
}}

敏感的rect应该在myView的坐标系中初始化,该坐标系与你附加识别器的视图相同。

答案 1 :(得分:0)

Apple有一个名为PhotoScroller的演示应用程序,它实现了一组可缩放的,可滚动的图像(在页面视图控制器中,但你不需要它。)这将是你需要的一个很好的起点。

他们的示例应用程序曾经构建到Xcode文档中。从Xcode 6开始,我还没有在文档中看到它们的链接。

您可以从Apple's online iOS Developer Library.(链接)

下载PhotoScroller