【问题标题】:modifying view height programmatically in Swift在 Swift 中以编程方式修改视图高度
【发布时间】:2020-02-23 11:06:38
【问题描述】:

我的故事板中有一个视图。默认情况下,我将视图高度设置为“0”。根据我的情况,我需要将视图高度修改为某个高度并大于或等于约束。我根据这个链接试过了。

Is there is a way to create constraint greater than or equal relation through code.

但在我的情况下它不起作用。

【问题讨论】:

  • 向我们展示一些代码以了解您到目前为止所做的事情。有了这个描述,我们就一头雾水了。
  • 获取高度的 IBOutlet 并使用 myHeightConstraint.constant = extraHeight 修改高度,您可能还需要调用 self.view.layoutIfNeeded()。
  • 默认情况下,我已将视图高度设置为“0”

标签: ios swift uiview


【解决方案1】:

我认为您想以编程方式将高度从 0 更新为您选择的动态值,对吗?

我会这样做:

  1. 创建视图的高度约束并将其指定为 0。(您可以在 Storyboard 或programmatically 中执行此操作)。
  2. 如果您在 Storyboard 中执行此操作,请将约束链接到您的类。
  3. 在您的代码中,按如下方式更新约束。 constraintName.constant = 400。请注意,它是CGFloat

【讨论】:

  • 是的,但我需要以编程方式给出大于或等于约束,而不是恒定值。
  • 不要给故事板中的高度约束一个相等的关系,而是在故事板本身中使用大于或等于关系。
【解决方案2】:

将高度约束的出口添加到您的班级中。 var heightConstraint: NSLayoutConstraint= 0

然后更新约束常数值。 self.heightConstraint.constant = 100 self.view.layoutIfNeeded()

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 2011-06-10
    相关资源
    最近更新 更多