如何以编程方式覆盖故事板 UIView 高度 属性
How do I override Storyboard UIView height property programatically
我在我的 viewController
中放置了一个小 UIView
并设置了它的 constraints
左、右和下。为了不得到 constraint error
我还必须添加一个高度。不过我不想保持这个高度,因为我希望它像这样在 viewController
中动态设置:
bottomBar.frame.size.height = self.view.frame.height / 10
我认为这会 override
我在 storyBoard
中设置的 constraint
值,但它不起作用。我将它设置为 / 2
只是为了看看会发生什么,但它仍然保持 storyboard
值。我如何override
这个?
您可以link将情节提要高度限制到出口:
@IBOutlet var heightConstraint: NSLayoutConstraint!
然后你可以更改它:
heightConstraint.constant = 100
您可以在构建时删除故事板约束。只需选择所需的约束和 select "Remove at build time".
您可以从您在情节提要中添加的约束创建一个 IBOutlet 连接到 ViewController。
对于下图中的示例:
建立连接后,您可以这样做:
self.newlyAddedConstraint.constant = self.view.frame.height / 10;
就是这样。你的身高会被调整。根据您设置此常量的位置,您可能还需要调用
[self.view layoutIfNeeded]
我在我的 viewController
中放置了一个小 UIView
并设置了它的 constraints
左、右和下。为了不得到 constraint error
我还必须添加一个高度。不过我不想保持这个高度,因为我希望它像这样在 viewController
中动态设置:
bottomBar.frame.size.height = self.view.frame.height / 10
我认为这会 override
我在 storyBoard
中设置的 constraint
值,但它不起作用。我将它设置为 / 2
只是为了看看会发生什么,但它仍然保持 storyboard
值。我如何override
这个?
您可以link将情节提要高度限制到出口:
@IBOutlet var heightConstraint: NSLayoutConstraint!
然后你可以更改它:
heightConstraint.constant = 100
您可以在构建时删除故事板约束。只需选择所需的约束和 select "Remove at build time".
您可以从您在情节提要中添加的约束创建一个 IBOutlet 连接到 ViewController。
对于下图中的示例:
建立连接后,您可以这样做:
self.newlyAddedConstraint.constant = self.view.frame.height / 10;
就是这样。你的身高会被调整。根据您设置此常量的位置,您可能还需要调用
[self.view layoutIfNeeded]