问题是,我确实有一个包含3个部分的视图。
第一部分是一个简单的标题 - 总是相同的高度! 第二部分是简单的描述行 - 总是相同的高度!
现在问题是第三部分。对于动态计算的子视图(每个子视图都有自定义控制器),它是 viewContainer 。内容的高度是由从后端下载的一些文本信息引起的动态。所以有时候我需要滚动才能阅读整篇文章,有时候不会。
目前我这样做:
具有动态内容的详细viewController:
self.labelDescription.text = self.customData.descriptionText;
[self.labelDescription sizeToFit];
if(self.view.frame.size.height < (self.labelDescription.frame.size.height + self.labelDescription.frame.origin.y)) {
CGRect newSize = CGRectMake(0,
0,
self.view.frame.size.width,
self.labelDescription.frame.size.height +
self.labelDescription.frame.origin.y);
self.view.frame = newSize;
}
在添加详细视图并调整其大小后,调整滚动视图的大小:
[self addChildViewController:controllerCustomData];
[self.scrollView addSubview:controllerCustomData.view];
CGRect newRect = CGRectMake(0,
self.viewElementDetailContentContainer.frame.origin.y,
controllerCustomData.view.frame.size.width,
controllerCustomData.view.frame.size.height);
controllerCustomData.view.frame = newRect;
self.scrollView.contentSize = CGSizeMake(self.scrollView.contentSize.width, newRect.origin.y + newRect.size.height);
所以我的问题是,有更简单的方法吗?
答案 0 :(得分:0)
您可以创建一个可以完成所需操作的方法。您需要编写一次方法(也许是methodS)并使用它传递必要的参数。