iOS 滚动视图允许滚动过去的内容
iOS Scroll View Allows Scrolling Past Content
我正在努力优化我的应用以适应横屏和小屏幕。我主要使用滚动视图来实现这一点。在我的一个观点中,我有一个容器视图。当我在故事板中的设备之间切换时,这个容器视图看起来很完美。容器视图映射到视图控制器,该视图控制器具有滚动视图,顶部、底部、前导和尾随 space 设置为超级视图 0。因此它应该填充容器。实际视图控制器设置为 Freeform Simulated Size,宽度为 263,高度为 190(滚动视图内内容的确切大小)。
在滚动视图中,我只有显示信息的标签。
这似乎一切正常。在较小的设备或横向设备上,您可以滚动查看内容和所有标签。
唯一的问题是在所有设备和屏幕尺寸上您都可以滚动浏览内容。在 X 和 Y 轴上。奇怪的是在水平轴上,容器视图的宽度专门设置为 263。我使用滚动视图的唯一原因是高度。宽度没有问题,即使在较小的屏幕上也是如此。但它仍然允许用户水平滚动。
有关横向 iPhone 4s 的更具体示例,容器视图的宽度为 263,高度为 90。但它自己的内容是 263 宽度和 190 高度。所以我希望用户能够向下滚动以查看这 100 个内容的其余部分。但目前它也允许用户横向滚动,向下滚动时可以滚动到内容末尾。
如何解决此问题,使用户无法滚动浏览内容?
如果您需要任何其他详细信息或信息,请告诉我。解释故事板的细节有时会有点棘手,所以我很乐意提供任何额外的细节以使其更加清晰。
与您对其他问题的回答非常相似,关键是要了解滚动视图的 content 决定了可滚动区域。
假设您将 "TopLabel" 约束设置为 Leading: 0 和 Top: 0。标签将位于 content 的左上角,并将定义滚动视图内容框架的左上角。
现在将 "BottomLabel" 放在右下方,并将约束设置为 Trailing: 0 和 Bottom: 0。
此时,自动布局不知道将 "BottomLabel" 的顶部和左侧部分放在哪里,因为可滚动区域未完全定义。
因此,如果您向 Leading: 60 和 Top: 400 的 "BottomLabel" 添加约束,"BottomLabel" 的左上角将放置在 60,400 和可滚动区域 - 滚动视图的contentSize - 将为 60 + width of BottomLabel
x 400 + height of BottomLabel
为了避免滚动到你想看到的最后一个视图/图像/标签,你需要确保元素的约束控制着滚动视图内容的宽度和高度.
我正在努力优化我的应用以适应横屏和小屏幕。我主要使用滚动视图来实现这一点。在我的一个观点中,我有一个容器视图。当我在故事板中的设备之间切换时,这个容器视图看起来很完美。容器视图映射到视图控制器,该视图控制器具有滚动视图,顶部、底部、前导和尾随 space 设置为超级视图 0。因此它应该填充容器。实际视图控制器设置为 Freeform Simulated Size,宽度为 263,高度为 190(滚动视图内内容的确切大小)。
在滚动视图中,我只有显示信息的标签。
这似乎一切正常。在较小的设备或横向设备上,您可以滚动查看内容和所有标签。
唯一的问题是在所有设备和屏幕尺寸上您都可以滚动浏览内容。在 X 和 Y 轴上。奇怪的是在水平轴上,容器视图的宽度专门设置为 263。我使用滚动视图的唯一原因是高度。宽度没有问题,即使在较小的屏幕上也是如此。但它仍然允许用户水平滚动。
有关横向 iPhone 4s 的更具体示例,容器视图的宽度为 263,高度为 90。但它自己的内容是 263 宽度和 190 高度。所以我希望用户能够向下滚动以查看这 100 个内容的其余部分。但目前它也允许用户横向滚动,向下滚动时可以滚动到内容末尾。
如何解决此问题,使用户无法滚动浏览内容?
如果您需要任何其他详细信息或信息,请告诉我。解释故事板的细节有时会有点棘手,所以我很乐意提供任何额外的细节以使其更加清晰。
与您对其他问题的回答非常相似,关键是要了解滚动视图的 content 决定了可滚动区域。
假设您将 "TopLabel" 约束设置为 Leading: 0 和 Top: 0。标签将位于 content 的左上角,并将定义滚动视图内容框架的左上角。
现在将 "BottomLabel" 放在右下方,并将约束设置为 Trailing: 0 和 Bottom: 0。
此时,自动布局不知道将 "BottomLabel" 的顶部和左侧部分放在哪里,因为可滚动区域未完全定义。
因此,如果您向 Leading: 60 和 Top: 400 的 "BottomLabel" 添加约束,"BottomLabel" 的左上角将放置在 60,400 和可滚动区域 - 滚动视图的contentSize - 将为 60 + width of BottomLabel
x 400 + height of BottomLabel
为了避免滚动到你想看到的最后一个视图/图像/标签,你需要确保元素的约束控制着滚动视图内容的宽度和高度.