繁体   English   中英

Xcode 布局变化在模拟器上工作但在物理设备上消失

[英]Xcode Layout Variations Work on Simulator but Disappears on Physical Device

我使用了这个答案( XCode:如何在横向和纵向模式之间更改视图布局)来创建一个 storyboard,它在纵向模式下将图像视图和表格视图堆叠在一起,在横向模式下并排堆叠。 当我改变方向时,Xcode 一切正常。 此外,它在 iPhone 11 的模拟器上运行良好。但是,当我在物理 iPhone X 上安装并运行时,纵向模式显示正常,但在横向模式下,并排显示似乎飞离屏幕并且我看到的只是导航栏。 我也复制了这个没有导航栏。

如果我包含的屏幕截图不足以解决此问题,我提前道歉,并且很乐意提供其他任何内容。

以下是显示每个方向的不同约束(和常见约束)的屏幕截图。

创建步骤如下:

  1. 将图像视图添加到新项目的 View Controller。
  2. 在纵向点击“Vary for Traits”,select “Height”和“Width”。
  3. 添加前导、顶部和尾随约束以及高度。
  4. 点击“完成变化”
  5. 将方向更改为横向
  6. 在横向单击“Vary for Traits”,select “Height”和“Width”。
  7. 添加前导、顶部和底部约束以及宽度。
  8. 点击“完成变化”
  9. 适用于 storyboard 和模拟器
  10. 不适用于物理设备

纵向约束

景观约束

因此,最终有了一个简单的解决方案,这要归功于中等( https://medium.com/swlh/how-to-create-adaptive-views-combining-uistackview-and-autolayout-902d5e1eab05 )的文章。 按原样编写的解决方案不起作用,但使用堆栈视图并在其轴上添加变体的概念是完美的。 我必须做的唯一实现更改是添加任何宽度(不是常规)和紧凑高度的变化。 我不确定为什么将规则的宽度添加到变体中不起作用。 对此的任何见解将不胜感激。

这是堆栈视图中添加的变体的屏幕截图。

堆栈视图轴变化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM