我正在尝试开发一个照片应用程序,当用户在其中滑动图像时,图像的特定部分(预定义的矩形区域)会放大并缩放以适应屏幕的尺寸,并在随后的滑动中显示其他(预定义)图像的某些部分以类似的方式放大。
而且到图像其他部分的过渡应该是无缝的。
我不太熟悉 Quartz Core 框架。我应该从哪里开始?
编辑:
为了纵横比适合图像的缩放部分,我这样做了:
if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
[UIView animateWithDuration:1.0 animations:^{
self.myScrollView.frame = CGRectMake((self.view.bounds.size.width - zoomWidth) / 2, (self.view.bounds.size.height - zoomHeight) / 2, zoomWidth, zoomHeight);
[self.myScrollView zoomToRect:CGRectMake(10, 10, zoomWidth, zoomHeight) animated:NO];
}];
}
最佳答案
我认为您可能不需要使用 Quartz Core(用于自定义绘图)。我想到了两种实现你的案例的方法。它们将更多地是提示,因为我们对案例/架构的细节了解不多。
- UIScrollView 可以帮助您放大/缩小图像,并且您可以使用 contentSize、contentOffset、zoomScale 等属性将缩放“锁定”到新区域。
- CALayer 的contentsRect 属性非常有用,因为它仅使用您提供的图像的一部分作为图层的背景图像,并受所提供的 CGRect 约束
关于ios - 如何在预定义的矩形中显示图像的缩放部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622072/