xib 中的自动布局 - 子视图的高度与导航栏和标签栏之间的空间成正比
Posted
技术标签:
【中文标题】xib 中的自动布局 - 子视图的高度与导航栏和标签栏之间的空间成正比【英文标题】:Auto Layout in xib - Subview's height proportional to space between navigation bar and tab bar 【发布时间】:2015-10-08 23:03:40 【问题描述】:在 xib 中工作时,您将如何做到这一点。 (以编程方式添加约束很好,但在导航栏或状态栏的任何地方都没有硬编码值。)
有一个子视图,我希望其相对高度与顶部布局指南和底部布局指南之间的垂直空间成正比。
例如,在下图中 - 蓝色部分的高度需要与导航栏和底部标签栏(如果有)之间的垂直空间成比例。
PS - 再一次,它是一个 xib 而不是故事板。
【问题讨论】:
【参考方案1】:对于其他偶然发现这个问题的人,我是这样做的。
- (void)viewDidLayoutSubviews NSLayoutConstraint *heightConstraint = [NSLayoutConstraint constraintWithItem:self.subviewInQuestion
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:0.5*(self.view.frame.size.height - [self.topLayoutGuide length] - [self.bottomLayoutGuide length])];
heightConstraint.identifier = @"ID_5";
[self.view addConstraint:heightConstraint];
[self.view setNeedsLayout];
【讨论】:
以上是关于xib 中的自动布局 - 子视图的高度与导航栏和标签栏之间的空间成正比的主要内容,如果未能解决你的问题,请参考以下文章