应用程序在模拟器上的显示与故事板中的不同

app appears different on the simulator than in story board

我刚开始 iOS 开发,我正在尝试构建一个待办事项列表应用程序。我做了基本布局,但是当我在模拟器上 运行 它看起来与我在故事板上看到的不同。

基本上,我的做法是将 UIView 和 UITable 视图放在一个堆栈视图中,并将其固定到屏幕的 4 个边缘。然后我将对齐设置为 "fill",将分布设置为 "fill proportionally"。 在 Storyboard 上,UIView 位于屏幕顶部的 20-25%,其余为 table 视图。然而,在模拟器上,它们似乎各自占据了屏幕的一半。 here's an image of the simulator and the storyboard showing the difference

这是因为您依赖堆栈视图来为您布置 UIView 和 UITable。如果将它们从堆栈视图中取出,则可以为顶部区域(UIView)指定特定高度并将顶部区域(UIView)的底部固定到底部区域(UITableView)的顶部。

或者,您可以将它们保留在堆栈视图中,并将分布更改为 "fill" 并将 UITableView 的 Content Hugging Priority 更改为小于 UIView。这将使 UIView 尽可能大,并让 UITableView 占据 space 的其余部分,这听起来像您想要的。这是对堆栈视图的不同分布可能性的很好的描述:

https://spin.atomicobject.com/2016/06/22/uistackview-distribution/