具有完整图像背景的 PageViewController 溢出

PageViewController with full Image Background overflows

我目前正在使用 BWWalkthrough 来创建入职体验,每张幻灯片都有不同的背景。通常情况下,设置ImageView的constraint为0,Content Mode为Aspect Fill就可以拥有全屏背景:

这个 post 和 SO 中的其他人确认 How do you make a background image scale to screen size in swift?

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

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

请记住,这是您在滑动之前看到的样子,这意味着它现在是错误的

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

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

首先,您不需要使用对齐中心 X/Y 约束,因为您使用的是 leading/trailing/top/bottom 约束。

删除对齐中心约束并确保您的 leading/trailing 为 0,top/bottom 为 0 或适当。

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

我没有用过 BWWalkthrough,但你似乎有两个问题:

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