UIView 图像中的缩放效果
Posted
技术标签:
【中文标题】UIView 图像中的缩放效果【英文标题】:Zoom effect in a UIView image 【发布时间】:2013-12-29 10:06:28 【问题描述】:当用户将鼠标悬停在图像上时,点击某个身体部位会显示该区域的放大图像。我想知道任何可能的第三方框架可以解决此类功能或代码 sn-ps(例如使用哪些手势识别器)可以帮助我实现此功能。
问题 2:我还必须在触摸发生和结束的位置添加一个动态可点击标签(如您在图像中看到的手腕标签),以便我可以将用户带到此屏幕上的单独视图单击标签。如何让这成为可能?
【问题讨论】:
【参考方案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 链接以获取完整示例。
【讨论】:
嘿,你对我添加的第二个问题有什么想法吗? 嘿,一旦你设法画出圆圈,然后在圆圈前面添加动态标签。 (使用带有标签的标签在删除时会很麻烦。)以上是关于UIView 图像中的缩放效果的主要内容,如果未能解决你的问题,请参考以下文章
在方向更改时自动缩放 UIView 以按比例缩放以适合父视图