如何在iOS中放大和缩小制作可点击图像区域



我有一张图像作为背景,我想通过放大和缩小来让这个图像的某些部分可以点击,有什么方法可以这样做吗??

不要为手势识别器创建新视图。识别器实现了locationInView:方法。为包含敏感区域的视图设置它。在手柄手势上,点击测试你关心的区域,如下所示:

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

1) 设置mySensitiveRect

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

2) 创建你的手势识别器:

gr=[[UIPinchGestureRecognizer alloc]initWithTarget:self-action:@selector(handleGesture:)];[self.view addGestureRecognizer:gr];//如果不使用ARC,您应该[gr release];//mySensitiveRect坐标系在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的坐标系中初始化,该坐标系与您附加识别器的视图相同。

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

他们的示例应用程序曾经内置在Xcode文档中。自从Xcode 6之后,我再也没有在文档中看到它们的链接。

您可以从苹果的在线iOS开发者库下载PhotoScroller。(链接)

最新更新