【发布时间】:2016-05-05 15:45:10
【问题描述】:
我有一个可能让我发疯的简单错误。 我正在 UIScrollView 中使用 UIImageView。为了使图像适合视图,我想获取 imageView 的宽度来调整缩放比例。 但是代码
imageView.bounds.width
无论实际图像的大小如何,总是返回 240.0。 在 Interface Builder 中,imageView 在视图中水平和垂直居中,clip subviews 为 true,Mode 为 aspect fit。 有任何想法吗?
【问题讨论】:
-
你是如何布置视图的?您使用的是约束还是框架?我们可以看到这段代码或在界面生成器中设置的约束吗?
-
什么时候访问宽度?如果它在
viewDidLoad中,则此值将始终是您的故事板值。在viewDidAppear中,出口的实际框架和边界已经由系统设置,它们的值应该会改变。 -
无论图像的尺寸是多少,图像视图的尺寸都将保持不变。您确定要查看边界矩形吗? (我认为您的问题需要更多细节才能获得有用的答案)
-
我在界面生成器中使用了约束。问题仍然存在于 viewDidAppear 中。这似乎是我的设置的普遍问题。我刚刚创建了一个新项目,只有一个 viewController 和完全相同的约束……这里一切正常。尽管如此,在我的设置中找到这个错误会很棒,因为我已经在它上面工作了很长时间。
-
我找到了一种解决方法。通过从该项目中的新项目复制 viewController,问题不再出现。不是一个优雅的解决方案......但它有效。感谢您的快速回复。