【问题标题】:PageViewController with full Image Background overflows具有完整图像背景的 PageViewController 溢出
【发布时间】:2017-03-22 19:54:46
【问题描述】:

我目前正在使用 BWWalkthrough 来创建入职体验,并且每张幻灯片都有不同的背景。通常,将 ImageView 的约束设置为 0 并将其 Content Mode 设置为 Aspect Fill 就足以拥有全屏背景:

此帖子和 SO 中的其他帖子确认 How do you make a background image scale to screen size in swift?

但是使用 PageViewController,我的图像会溢出到下一页 PageViewController。

请参阅以下内容以了解问题:

记住这是你在刷之前看到的,这意味着它现在是错误的

我还尝试将 imageView 的宽度设置为与容器视图相等的宽度,但这并没有改变任何东西:

另外,在使用 BWWalkthrough 之前,我以编程方式进行了一次入职培训,但遇到了完全相同的问题...我在这里遗漏了什么?

【问题讨论】:

  • 你试过view.clipsToBounds = true吗?

标签: ios swift autolayout interface-builder bwwalkthrough


【解决方案1】:

我没用过BWWalkthrough,但是你好像有两个问题:

  1. 您的 UIImageView 未剪辑。您应该为所有页面设置firstPageController.view.clipsToBounds = YES;。这可以确保您的视图范围之外的内容将被剪裁。默认为 NO。
  2. 您的 UIImageView 需要裁剪,因为它的内容大于 UIImageView 的大小。这可能是您想要的行为。但如果不是,您可能需要尝试将图像视图的内容模式设置为宽高比匹配。

【讨论】:

【解决方案2】:

首先,您不需要使用对齐中心 X/Y 约束,因为您使用的是前导/尾随/顶部/底部约束。

删除对齐中心约束,并确保您的前导/尾随为 0,顶部/底部为 0 或视情况而定。

我不相信约束竞争足以导致这个问题,但你不应该同时拥有。

【讨论】:

  • 我后来根据一个赞成的问题添加了这些,但是是的,这没有任何区别或解决问题
猜你喜欢
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多