【问题标题】:UIImageView inside UIScrollView positioning issue after rotation旋转后UIScrollView内的UIImageView定位问题
【发布时间】:2012-01-23 21:14:19
【问题描述】:

我在 UIScrollView 中有一个 UIImageView,如果我不放大和旋转它,它旋转得非常好。但是,如果我放大并旋转,那么位置会很乱。为什么是这样?我该如何解决这个问题?我认为图像的大小很好,只是位置?

我尝试做的一件事是执行以下操作:

[imageScrollView setContentSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height)];

这解决了问题,但是旋转后我不能再放大了。

【问题讨论】:

  • 我遇到了同样的问题。希望有人帮忙。
  • 我实际上通过在旋转设备时将 zoomSize 设置回 1 解决了这个问题
  • UIScrollView 中没有 zoomSize 属性。你的意思是zoomScale,我猜。谢谢。

标签: iphone objective-c ios ipad


【解决方案1】:

尝试禁用滚动视图上子视图的自动调整大小。

当方向改变时,滚动视图会旋转并调整大小。调整大小的影响取决于滚动视图的 autoresize subviews 属性(true/false),以及滚动视图内容的 autoresizemask。

如果您使用的是 IB,请取消选中滚动视图上的“自动调整子视图大小”,或者从代码中设置 self.scrollView.autoresizesSubviews = NO;(将 scrollView 替换为引用您的滚动视图的属性)

【讨论】:

    【解决方案2】:

    您想在旋转发生后重置内容大小和框架。

     - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
    {
        self.scrollView.contentSize = self.photoView.image.size;
        self.photoView.frame = CGRectMake(0, 0, self.photoView.image.size.width, self.photoView.image.size.height);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 2016-03-19
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多