1
問題是,我確實有一個包含3個部分的視圖。調整UIView以適合其內容
第一部分是一個簡單的標題 - 總是一樣的高度! 第二部分是簡單的描述行 - 總是相同的高度!
現在問題是第三部分。這是一個viewContainer動態計算的子視圖(他們每個人都有一個自定義控制器)。內容的高度是由從後端下載的一些文本信息引起的動態的。所以有時我需要滾動才能閱讀整篇文章,有時候不會。
目前我做這種方式:
- 計算的UILabel的尺寸爲特定的文本。
- 然後調整父視圖的大小以適應UILabel(如果較小)。
- 然後調整我的3-Part-ViewController-View的scrollView以適應其子視圖。
與動態內容的詳細的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);
所以我的問題是,是否有更簡單如何做到這一點?