我在垂直UIStackView中有3个视图。该视图是具有以下方法的UIView子类的实例:
- (CGSize)intrinsicContentSize {
return CGSizeMake(1.0, self.height);
}
在我的视图控制器中,我可以在viewDidLoad中执行此操作:
self.section1.height = 30;
self.section2.height = 30;
self.section3.height = 40;
一切正常。第1节和第2节占堆栈视图高度的30%,第3节占堆栈视图高度的40%。
但是我以后如何更改这些比例?这什么也没做:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
self.section1.height = 10;
self.section2.height = 50;
[self.view setNeedsLayout]; //tried self.stackView as well
[UIView animateWithDuration:1.0 animations:^{
[self.view layoutIfNeeded];
}];