故事板动态自动布局问题

Posted

技术标签:

【中文标题】故事板动态自动布局问题【英文标题】:storyboard dynamic auto layout issue 【发布时间】:2016-10-18 23:29:13 【问题描述】:

我有这种情况:

当我点击“添加”按钮时,我会降低粉色视图的(第一个视图)高度并执行以下代码:

@IBOutlet weak var viewPink: UIView!

    @IBAction func add(_ sender: AnyObject) 


        viewPink.frame = CGRect(x: viewPink.frame.origin.x, y: viewPink.frame.origin.y, width: viewPink.frame.size.width, height: viewPink.frame.size.height - 50)

        

但我希望最后一个视图与粉色视图保持相同的距离,本质上你必须了解为什么粉色视图会降低其高度,而不是第二个视图保持原来的位置。

你能帮帮我吗?

P.S 我设置了两个视图之间的垂直间距约束,但它不起作用

【问题讨论】:

如果你使用自动布局和约束,那么你需要改变约束,不要乱用框架。 【参考方案1】:

你应该在你的粉色视图上添加一个高度约束,在你的 ViewController 中为这个约束创建一个 IBOutlet,并设置“常量”属性来改变高度。

例子:

heightConstraint.constant = 150

这将使用 Autolayout 更改高度,您不应通过设置新框架来更改高度,因为它不使用 Autolayout。

【讨论】:

以上是关于故事板动态自动布局问题的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 自动布局故事板预览不显示容器视图

UITableViewCell 子类布局在禁用自动布局的故事板中搞砸了

没有自动布局的不同屏幕尺寸的相同故事板

使用故事板中的自动布局使 UIButtons 居中

打开自动布局时的 UIScrollView(故事板)

带有故事板和自动布局的大小值