目标是一种垂直布局,与示例图片中的屏幕视图的顶部/底部相匹配...
在NSConstraints
UIScrollView
但是在较小的设备屏幕(例如5S)上,它没有显示底部按钮
(即,当屏幕高度小于内容高度时)
是否存在每个UI元素的高度都固定的解决方案,或者我是否需要动态地计算每个高度,以便在没有UIScrollView
的情况下适合较小的高度?
答案 0 :(得分:2)
简而言之,
此问题。
“还是我可能需要动态计算每个高度,以便...”
实际上,这正是UIStackView
的目的
要学习成为具有自动排版和约束的专家并不容易。这是一个精致而艺术的过程。
对于即将到来的挑战,我将从一个充满整个屏幕的大堆栈视图开始。堆栈视图本身可以很好地分隔所有内容。
您的堆栈视图参数可能是:
(从零间距开始)
您可能已经知道使用它们来测试每个设备的大小:
请注意,此外,在极端情况下,当缩小间隔时,您还必须确实让某些元素缩小(由您选择)。不幸的是,您必须掌握所有这些技术才能制作现代的反应式应用程序。
请注意,此布局的一个关键是您必须让空间随着其变小而折叠。确实,使用正确的设置,堆栈视图将为您做到这一点。
这是一个巨大的专业领域,一旦拥有,就需要问另一个问题
取消了滚动视图
使堆栈视图以基本方式工作
实际上,您已经在此处找到许多有关此问题的质量检查。
请注意,aBilal在评论中完全描述了这种情况:
“非常简单,打开情节提要,从底部的“视图”中选择“ iPhone SE”屏幕,并使用约束相应地重新排列所有屏幕。现在检查您的应用程序是否也适用于包括iPhone X在内的所有屏幕。
的确。就像说:
“所以你想当乔·沃尔什(Joe Walsh)。这很简单,购买一把吉他。将两只手放在另一端。现在弹奏。
:)有点像这样。
答案 1 :(得分:0)
在我看来,为屏幕添加滚动视图似乎不是最好的解决方案,因为屏幕上没有太多元素。
根据我的最佳实践是始终在应用程序要支持的最小屏幕设备上设计UI并相应地设置约束。我建议您也对这种情况做同样的事情。希望这会有所帮助。