如何以编程方式更新视图的高度?
Posted
技术标签:
【中文标题】如何以编程方式更新视图的高度?【英文标题】:How to update Height of the view Programmatically? 【发布时间】:2018-04-11 12:44:57 【问题描述】:我面临的一个问题与自动布局有关。我首先通过自动布局将包含图像视图的视图高度设置为零。但是如果调用了某个函数,我希望将高度更新为一个恒定值,但我的视图高度没有得到更新。 这是代码,我已经在函数内部以编程方式更新了高度,但它不起作用。
let heightContraint = NSLayoutConstraint(item: businessImageView, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 40)
businessImageView.addConstraint(heightContraint)
【问题讨论】:
可能重复 - ***.com/questions/43010173/… How to programmatically increase the height of UIView with Swift的可能重复 How to update the constant height constraint of a UIView programatically? 【参考方案1】:首先创建高度约束的IBOutlet。
您只需要更改约束的constant
属性。
例如:
self.consTblFilterHeight.constant = 100.0
self.view.layoutIfNeeded()
将self.view
替换为要更改高度的视图的父视图。
【讨论】:
【参考方案2】:创建你的约束出口,然后像这样设置它:
self.heightConstraintOutlet.constant = newHeightValue【讨论】:
【参考方案3】:businessImageView.addConstraint(heightContraint)
不是更新约束的代码。它增加了一个约束。
为了更新父视图(有图像)的高度,您需要更新 businessImageView 的 高度约束的常量。
businessImageView.heightConstraint.constant = 40
self.view.layoutIfNeeded()
【讨论】:
【参考方案4】:方法
激活约束 改变常数值代码
heightConstraint.isActive = true
heightConstraint.constant = 20
【讨论】:
谢谢,打错字了以上是关于如何以编程方式更新视图的高度?的主要内容,如果未能解决你的问题,请参考以下文章