我如何以编程方式覆盖Storyboard UIView height属性

问题描述 投票:0回答:3

我在UIView中放置了一个小viewController,并将其constraints设置为左,右和下。为了不得到constraint error,我还必须增加一个高度。但我不想保持此高度,因为我希望像这样在viewController中对其进行动态设置:

bottomBar.frame.size.height = self.view.frame.height / 10

我以为这会是override我在constraint中设置的storyBoard值,但它不起作用。我将其设置为/ 2只是为了查看会发生什么,但它仍然保留storyboard值。我该如何override

ios constraints overriding height uistoryboard
3个回答
0
投票

您可以将情节提要板高度限制链接到插座:

@IBOutlet var heightConstraint: NSLayoutConstraint!

然后您可以更改它:

heightConstraint.constant = 100

0
投票

您可以在构建时删除情节提要板约束。只需选择所需的约束,然后选择“在构建时删除”。


0
投票

您可以从您在情节提要中添加到ViewController的约束中创建IBOutlet连接。例如下图所示:Showing how to add IBOutlet for constraint

一旦建立连接,您可以执行以下操作:

self.newlyAddedConstraint.constant = self.view.frame.height / 10;

就这些。您的身高将被调整。根据您在哪里设置此常数,您可能还需要调用

[self.view layoutIfNeeded]
© www.soinside.com 2019 - 2024. All rights reserved.