ios - UIScrollView 缩放到错误的点

标签 ios uiscrollview uikit

我有一个带有图像的 UIScrollView,并且该图像位于容器 View 中。 View 层次结构如下所示:

UIScrollView
  UIView
    UIImageView

平移效果很好,但是当我使用捏合手势进行缩放时,图像会改变大小,但不会相对于原点移动,因此两根手指下方的中心点会随着手势的进行而移动。这使得放大特定点变得非常困难,因为当您缩放时它会滑开。

涉及观点说明:

<MyApp.MyView: 0x7ff6fd827e00; baseClass = UIScrollView; frame = (0 0; 375 667); autoresize = W+H; gestureRecognizers = <NSArray: 0x61800004a4d0>; layer = <CALayer: 0x618000023420>; contentOffset: {684, 487.5}; contentSize: {1731.4584832023011, 1154.3056554682007}>

<UIView: 0x7ff6fbe0c4d0; frame = (0 0; 1728 1152); transform = [2.2028669620902912, 0, 0, 2.2028669620902912, 0, 0]; layer = <CALayer: 0x6180000234c0>>

<UIImageView: 0x7ff6fbe09cd0; frame = (0 0; 1728 1152); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x618000023340>>

Animated Example

我在 UIView 包装器内有 UIImageView,因为我将在图像上叠加其他 View ,这些 View 需要随图像一起缩放/缩放。

缩放期间我自己的代码运行得很少。 UIScrollViewDelegate返回UIView(UIImageView的父级),并配置 ScrollView :

minimumZoomScale = 0.2
maximumZoomScale = 3.0
contentSize = image.size

最佳答案

好吧,我已经制作了一个使用您的 View 结构的简单项目。我没有面对这些问题。可能,您应该检查以下事项:

  • 自动布局约束设置是否正确
  • 您的父 View 是否正确缩放
  • UIImageView 模式适合您的需求

    希望这可能对您有所帮助

  • 关于ios - UIScrollView 缩放到错误的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307638/

    相关文章:

    ios - 如何使用3D Touch实现这样的分享?

    ios - 当我在其中放置一个 UI 元素时,为什么 UIScrollView 不滚动?

    ios - 在 UILabel 中将文本垂直对齐到顶部

    ios - WatchKit UIPageControl 点颜色

    ios - Swift Cocoa 按钮未到位

    ios - 如何等待委托(delegate)方法完成 block 内的操作表

    ios - 指定 NSLineBreakMode.byTruncatingTail 会导致在 UILabel 中显示 NSAttributedString 时出现问题

    ios - Swift base64 解码返回 nil

    iOS 自定义图库

    iphone - UIScrollView趋于 "snap"回到之前的位置