【问题标题】:UIScrollView in Xcode using Springs and StrutsXcode 中的 UIScrollView 使用 Springs 和 Struts
【发布时间】:2019-05-20 15:46:12
【问题描述】:

我正在使用 swift 语言和 Spring 和 Struts 来管理 iOS 中的应用程序进行定位。由于某些原因,我必须在其中使用UIScrollView。但是我找不到使用“Springs and Struts”布局定位技术的正确实现方式。

我将视图 height 设置为“FreeForm”,然后将 Content View 高度设置为 1000 像素,但所有内容都以相同的屏幕尺寸显示。

【问题讨论】:

  • 我没有完全理解你的问题,但你试试我的回答stackoverflow.com/questions/48068995/…
  • @iOS 您已经使用自动布局完成了此操作,我没有使用自动布局。我正在使用 Springs 和 Struts 进行此操作
  • 好的,我明白了....
  • @iOS 你之前用过滚动视图而不是自动布局吗?

标签: ios iphone swift xcode uiscrollview


【解决方案1】:

“FreeForm”的设置仅适用于界面生成器,因此您可以完整查看滚动视图中的所有内容,但不会反映在您的应用中。

scrollview 的高度取决于它的内容,所以你需要从上到下添加元素使其变大。

【讨论】:

  • 那么我必须在情节提要中使用弹簧和支柱做些什么改变
【解决方案2】:

使用 Struts 和 Springs 是 no longer recommend,您应该使用 AutoLayout

但是,如果您必须:

1) 为 View Controller 禁用/取消选中 Files Inspector 中的“使用自动布局”,这也会禁用 trait 变化。

2) 在视图控制器的 Size Inspector 中将您的模拟大小更改为“固定”。确保在视图控制器的 Attributes inspector 中将 Simulated Metrics for Size 设置为“Inferred”。

3) 添加视图并设置自动调整蒙版的“支柱和弹簧”,以告诉视图如何在其父视图中增长和缩小。

4) 将视图所需的框架矩形设置为相对于其超级视图的位置。

您必须手动设置滚动视图的高度,因为没有其他视图可以约束框架并允许自动调整大小。为此,请在视图控制器加载后设置滚动视图的内容大小。请参阅viewDidAppear(_:) 否则布局引擎无法确定按钮顶部与其父视图(scrollView)顶部之间的垂直间距。

同样,这是不可取的,您应该考虑迁移到 AutoLayout。

【讨论】:

  • 当你说“Springs and Struts”时,考虑到你和 OP 的意思是 Autoresizing 掩码,应用程序不会因为你使用 autoresizing 而不是 autolayout 而被拒绝。
  • 不,假设布局正确实施,OP 不应该在审查过程中遇到问题。不是为了简单地使用自动调整大小。但是对于干扰General Layout Considerations 的多个设备的布局问题,这些指南在iOS7 之后发生了变化,包括该布局的设计和行为(在旋转和用户交互期间)。
  • @BangOperator 我从帖子中删除了该声明,我觉得它发送的信息不正确,也没有增加很多价值,如果不事先了解自动布局的历史,它可以是误导。
猜你喜欢
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
相关资源
最近更新 更多