带有自动布局的滚动视图内的iOS 8 imageView不起作用
Posted
技术标签:
【中文标题】带有自动布局的滚动视图内的iOS 8 imageView不起作用【英文标题】:iOS 8 imageView inside scrollView with autolayout not working 【发布时间】:2014-10-21 04:48:02 【问题描述】:这是一个非常简单的ViewController
。我在scrollView
中有一个imageView
。使用自动布局,我将scrollview
的约束设置为其view
的边缘。另外,imageView
模式为AspectFit
。
图像是在运行时提供的,它可以是横向或纵向尺寸。当我运行应用程序时,图像不适合当前的屏幕尺寸。似乎scrollView
的边界没有得到尊重,因此只显示了部分图像。它曾经在 ios7 和 xcode5 上工作,但在 ios8 xcode6 上坏了。
有什么想法吗?我需要尽可能保持使用自动布局。
【问题讨论】:
【参考方案1】:您将设置 imageviews 水平约束并将它们固定到 self.view(滚动视图父视图)而不是滚动视图。
这里有一个很好的例子: Using UIScrollView with Auto Layout in iOS
【讨论】:
谢谢...我会尝试这个解决方案。似乎可以完成工作。尽快通知您 嘿,我也遇到了类似的问题,我在两边都设置了约束,左边有效,右边无效,如果找到解决方案,请务必在此处发布,谢谢! 【参考方案2】:试试这个完全缩小
[self.scrollView zoomToRect:self.imageView.frame animated:YES];
【讨论】:
【参考方案3】:您是否尝试过在 viewDidLoad 中调用 imageView.sizeToFit()?我的印象是 imageView 的大小在设置出口之前是可变的。调用 sizeToFit 会强制解决问题。
【讨论】:
以上是关于带有自动布局的滚动视图内的iOS 8 imageView不起作用的主要内容,如果未能解决你的问题,请参考以下文章
尝试理解 iOS 8 中的 UIScrollView 自动布局