【问题标题】:Zoom effect in a UIView imageUIView 图像中的缩放效果
【发布时间】:2013-12-29 10:06:28
【问题描述】:

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

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

【问题讨论】:

    标签: ios uiview uiimageview uigesturerecognizer uiviewanimation


    【解决方案1】:

    在您的 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 链接以获取完整示例。

    【讨论】:

    • 嘿,你对我添加的第二个问题有什么想法吗?
    • 嘿,一旦你设法画出圆圈,然后在圆圈前面添加动态标签。 (使用带有标签的标签在删除时会很麻烦。)
    猜你喜欢
    • 2015-09-27
    • 2021-08-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2023-03-27
    • 2012-05-03
    • 2013-04-18
    • 1970-01-01
    相关资源
    最近更新 更多