2012-07-23 101 views
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); 

所以我的問題是,是否有更簡單如何做到這一點?

回答

0

您可以創建一個方法來完成您所需的一切。您需要編寫一次方法(也許methodS)並使用它傳遞必要的參數。

相關問題