UIView图像中的缩放效果

时间:2013-12-11 12:23:16

标签: ios uiview uiimageview uigesturerecognizer uiviewanimation

Below is the image of human body

当用户将鼠标悬停在图像上时,点击某个身体部位会显示该区域的放大图像。我想知道任何可能的第三方框架,它们可以帮助我实现这一功能,可以解决此类功能或代码片段(例如使用哪种手势识别器)。

问题2:此外,我必须在触摸发生和结束的位置添加动态可点击标签(因为您可以在图像中看到手腕标签),这样我就可以将用户带到此屏幕上的单独视图中点击标签。如何做到这一点?

1 个答案:

答案 0 :(得分:0)

在drawRect方法中,屏蔽圆圈(使用包含放大镜“遮罩”的单色位图)并使用2倍缩放变换在其中绘制主题视图。然后在上面绘制放大镜图像,你就完成了。

- (void) drawRect: (CGRect) rect {
    CGContextRef    context = UIGraphicsGetCurrentContext();
    CGRect          bounds = self.bounds;
    CGImageRef      mask = [UIImage imageNamed: @"loupeMask"].CGImage;
    UIImage         *glass = [UIImage imageNamed: @"loupeImage"];

    CGContextSaveGState(context);
    CGContextClipToMask(context, bounds, mask);
    CGContextFillRect(context, bounds);
    CGContextScaleCTM(context, 2.0, 2.0);

    //draw your subject view here

    CGContextRestoreGState(context);

    [glass drawInRect: bounds];
}

检查this链接以获取完整示例。