ios - UIScrollView + 居中 View + 不明确的可滚动内容大小 + 许多 iPhone 大小

标签 ios uiscrollview interface-builder autolayout xcode6

我有:

  • 应用程序,应该在横向和纵向模式下工作。
  • 在顶部查看全尺寸 ScrollView 。
  • ScrollView 内的某些 View 具有固定的宽度和高度。 (添加了 H 和 W 约束)
  • 设置为在容器中水平居中查看内部 ScrollView 。 (根据约束添加)

我在界面生成器中收到警告“具有不明确的可滚动内容宽度”。 enter image description here

据我所知,解决此问题的唯一方法是设置尾随和前导约束。 但是对于不同的 iPhone(5.5"、4.7"、4"),我需要设置不同的尾随和前导约束。

我怎样才能消除这个警告,并且对于所有 iPhone 尺寸仍然具有固定的 W 和 H 的居中水平 View ?

我创建 Github 存储库来说明这个问题:ScrollViewAmbigous

这不是 UIScrollView Scrollable Content Size Ambiguity 的副本 ,但它很相似(虽然没有回答),但这个问题尤其与不同尺寸的 iPhone 相关。

最佳答案

早上喝了一杯新鲜的咖啡,我想出了解决这个问题的方法!

因此,这是最简单情况的初始状态:

  1. 对所有边缘具有 0 约束的 scrollView
  2. 按钮水平和垂直居中,宽度和高度固定
  3. 当然还有 具有不明确的可滚动内容宽度具有不明确的可滚动内容高度 烦人的警告

1

所有,我们要做的是:

  • 添加 2 个额外的约束,例如“0”用于我们 View 的尾部和/或底部空间(在我的例子中 - UIButton)

重要提示:您必须添加尾随和/或底部约束。不是“领先和领先”——这是行不通的!

2

您可以在我的示例项目中查看它,演示如何解决此问题:ScrollViewAmbigous

附言

我不知道它为什么工作以及 Xcode 如何检测哪个约束更优先(因为我没有明确设置这些约束的优先级),但如果有人解释,我将不胜感激,为什么它在下面的评论中工作.

关于ios - UIScrollView + 居中 View + 不明确的可滚动内容大小 + 许多 iPhone 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26261659/

相关文章:

iOS:无法在沙盒环境中恢复消耗品购买

ios - 带有单独数据源对象的 UITableViewController

ios - 复制Apple联系人编辑屏幕

objective-c - 淡入/淡出 UIScrollView 的内容,就像 Mobile Safari 在其选项卡中所做的那样

ios - TextLabel 在 ScrollView 中被截断

ios - 当我以编程方式进行时,有什么方法可以在 IB 中绘制 segues 吗?

iphone - 如何将UIButton的highlighted属性设置为NO?

ios - 将图像与日期时间元数据保存到相册

ios - 动态 ScrollView Swift

iOS UIImageView 调整大小问题