我有一个UIView包含许多UITextViews,它们调整大小以适应文本,最后一个文本视图通过Autolayout连接到父UIView的基础。然后使用以下
将UIView动态添加到UIScrollView for (UIView *subview in self.scrollViewContent.subviews) {
[subview removeFromSuperview];
}
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
NSLog(@"%f",self.txtViewEndOfFAQ.frame.size.height);
[self.viewFAQ setFrame:CGRectMake(0, 0, screenWidth, (self.txtViewEndOfFAQ.frame.origin.y + self.txtViewEndOfFAQ.frame.size.height))];
[self.scrollViewContent addSubview:self.viewFAQ];
[self.scrollViewContent setContentSize:CGSizeMake(self.viewFAQ.frame.size.width, self.viewFAQ.frame.size.height)];
[self addUnderline:self.imageViewTitle4];
[self showMenu:nil];
现在问题是当它加载时它并没有给我正确的高度。使用较窄的设备时,文本视图的高度会增加以适应文本,这似乎不会被考虑在内。
答案 0 :(得分:0)
您可以通过编程方式添加高度约束,只要它不会与现有约束产生冲突。使用NSLayoutConstraint就像:
NSLayoutConstraint *heightConstraint = [NSLayoutConstraint
constraintWithItem:self.viewFAQ
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:self.txtViewEndOfFAQ
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:0];
[self addConstraints: heightConstraint];
使用NSLayoutAnchor:
[self.viewFAQ.heightAnchor constraintEqualToAnchor:self.txtViewEndOfFAQ.heightAnchor].active = YES;