【问题标题】:position a view in storyboard at 1/3 of screen size将情节提要中的视图放置在屏幕大小的 1/3 处
【发布时间】:2015-11-13 00:47:53
【问题描述】:

我试图在情节提要中放置一个视图,使其顶部边缘始终位于屏幕大小的 1/3。我目前已经为 Top Layout Guide 设置了一个约束,但是该约束的常数是……嗯,无论它用于哪个屏幕尺寸,它都是恒定的,但我希望它是屏幕尺寸的 1/3。这可以完全在情节提要中完成吗?谢谢解答

当前状态截图:

【问题讨论】:

  • 是的,这是可能的,你能给我们截图吗?
  • 我添加了一个截图,没有什么特别的。
  • 仅供参考,DanLoughney 的链接问题相对于屏幕调整视图的大小;这个问题是关于屏幕上视图的位置。

标签: ios autolayout uistoryboard nslayoutconstraint universal-storyboard


【解决方案1】:

对于任何试图以编程方式完成这项工作的人,我无法通过“锚”样式处理它,但旧的 NSLayoutConstraint 初始化程序有效:

let constraint = NSLayoutConstraint(item: floatingBtn,
                                    attribute: .centerY,
                                    relatedBy: .equal,
                                    toItem: view,
                                    attribute: .bottom,
                                    multiplier: 1/3,
                                    constant: 0)
constraint.isActive = true

感谢accepted answer

【讨论】:

    【解决方案2】:

    您可以将其设置在中心或底部。 这是与中心相关的示例约束: (顶部的 1/3 = 中心的 1.66)

    【讨论】:

    • 对乘数使用适当的有理数,例如5:3 :P
    【解决方案3】:

    在视图的上边缘和父视图的下边缘之间创建一个约束。将约束的常数设置为零,并将其乘数设置为 1:3。像这样:

    【讨论】:

    • 这对我不起作用,当我将常量设置为 0 时,它会将视图紧贴到屏幕底部。此外,我似乎无法创建一个去“Superview.Bottom”的约束,它总是创建它去“Superview.Bottom Margin”
    【解决方案4】:

    您可以添加空的(透明颜色)UIView,将其固定到顶部,并将其高度设置为等于父视图的 1/3。然后,您可以将黄色视图的顶部固定到空 UIView 的底部。

    【讨论】:

      猜你喜欢
      • 2012-08-17
      • 2022-07-26
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 2016-12-08
      • 2013-05-02
      • 1970-01-01
      • 2014-12-09
      相关资源
      最近更新 更多