在xib中工作时如何做到这一点。 (以编程方式添加约束很好,但在导航栏或状态栏的任何位置都没有任何硬编码值。)
有一个子视图,其相对高度I希望与顶部布局指南和底部布局指南之间的垂直空间成比例。
例如,在下图中 - 蓝色部分的高度需要与导航栏和底部标签栏(如果有)之间的垂直空间成比例。
PS - 再一次,它是一个xib,而不是一个故事板。
答案 0 :(得分:0)
对于任何偶然发现这个问题的人来说,我就是这样做的。
- (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]; }