【问题标题】:Rotate programmatically UIScrollView content以编程方式旋转 UIScrollView 内容
【发布时间】:2015-06-21 12:49:50
【问题描述】:

我有一个带有 UIImageView 作为子视图的 ScrollView(适合边距)。

ImageView 有一个图像和一些按钮作为子视图。

我需要同时旋转图像和按钮(不是在设备旋转时)。

现在,旋转图像很容易:

image = [[UIImage alloc] initWithCGImage: image.CGImage scale: 1.0 orientation: UIImageOrientationLeft];

旋转按钮也可能很无聊,所以我想知道是否有办法旋转整个 UIScrollView 内容。

【问题讨论】:

    标签: ios objective-c xcode uiscrollview uiimageview


    【解决方案1】:

    查看 UIView 的transform 属性。如果我理解正确的话,它可以完成这项工作。例如: scrollView.transform = CGAffineTransformMakeRotation(M_PI_2);

    【讨论】:

    • Vladimir 是对的,但在他的代码中,滚动方向也发生了变化。所以只需用他的代码打开imageView
    • @LoVo 是我需要的,但为什么不对整个滚动视图应用转换?
    • 正如我所说,如果您旋转滚动视图,滚动方向也会发生变化,因此您不再“向上”滚动,但“向右”或“向左”在某些情况下可能会令人困惑。另一个例子是;如果您想拥有更高的滚动视图,则必须更改宽度,因为整个视图都被转动了。
    • 奇怪的行为:应用转换后,我执行此代码并且图像“返回”到原来的方向。 (我也尝试使用此代码反转旋转): const float minZoom = MIN(self.view.bounds.size.width / self.imageView.image.size.width, self.view.bounds.size.height / self. imageView.image.size.height); if (minZoom > 1) { return; } self.scrollView.minimumZoomScale = minZoom; self.scrollView.zoomScale = minZoom;
    【解决方案2】:

    使用 Swift 4:

    scrollView.transform = CGAffineTransform(rotationAngle: .pi / 2)

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 2013-03-24
      • 2017-10-11
      • 2011-01-15
      相关资源
      最近更新 更多