【问题标题】:how to change the position of view on orientation change with just storyboard如何仅使用情节提要更改方向更改时的视图位置
【发布时间】:2018-10-09 19:44:44
【问题描述】:

我有一个视图 B,它位于 Potrait 视图 A 的下方 但是当设备将其方向更改为横向时,我希望视图 B 水平平行以查看 A

我可以通过以编程方式添加删除约束来做到这一点,但这似乎有点过头了。

关于如何做故事板本身的任何解决方案。

【问题讨论】:

  • 写出约束是多余的吗?寻找一个复选框来勾选 Interface Builder?欢迎使用新一代 GUI 编码。当您在 Interface Builder 上勾选这些框时,您正在将代码添加到您的应用程序中,您只是看不到它。有时它会添加很多代码。国际海事组织,写出一些约束并没有什么大不了的,尤其是当它起作用的时候。

标签: ios objective-c uistoryboard uiinterfaceorientation ios-autolayout


【解决方案1】:

您可以在界面构建器中使用“特征变化”来指定纵向或横向布局的外观。 https://www.techotopia.com/index.php/Using_Trait_Variations_to_Design_Adaptive_iOS_User_Interfaces

【讨论】:

  • 如果你不介意,你能简单介绍一下吗,因为即使对其他人也很有用......就像我的secenario中如何做谢谢
【解决方案2】:

一种方法是使用 UIStackView。将 A 和 B 添加为子项,并将轴设置为垂直(纵向)或水平(横向)。

可以通过在 Axis 属性上添加变体来在情节提要中做到这一点:

我个人会在代码中添加这种变体,因为所有聪明的故事板解决方案都会在您需要进行维护时出现故障,并且在一段时间后感觉像是结块。

【讨论】:

  • 我必须支持iOS,所以我不能使用堆栈视图
  • 你能告诉我在我的场景中如何做吗?
  • UICollectionView 也可以工作。它具有水平或垂直滚动​​方向,但您不能仅从情节提要中设置它,这可能是对约束的过度杀伤。如果您对visual format syntax 使用约束,则可能只需几行代码。
  • 我没有使用 uitableview 或 Uicollectionview ,只是视图
  • 如果你能给我一个在屏幕上只显示 uilabels 的样本来代替视图 A 和 B。这对我会更有帮助
猜你喜欢
  • 2019-10-16
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 2012-11-11
  • 2017-10-18
相关资源
最近更新 更多