2014-03-19 104 views
0

我有一個包含scrollview,containerview和3個子視圖(topview,textview和bottomview)的視圖。請參閱下面的視圖的層次結構。 textview的高度是根據其內容定義的。我爲其高度定義了動態約束,並在viewDidLayoutSubviews中對其進行了更改。 textview的大小是正確的,但問題是我的滾動視圖不滾動。我做錯了什麼?也許我需要添加/修改其他一些約束條件?UIScrollView無法使用自動佈局和動態約束來滾動

enter image description here

-(void)viewDidLayoutSubviews 
{ 
    NSAttributedString * string = [[NSAttributedString alloc] initWithString:self.game.description]; 
    CGFloat heightTV = [self textViewHeightForAttributedText:string andWidth:260]; 
    self.dynamicTVHeight.constant = heightTV; 
    [self.view layoutIfNeeded]; 
} 

- (CGFloat)textViewHeightForAttributedText:(NSAttributedString *)text andWidth:(CGFloat)width 
{ 
    UITextView *textView = [[UITextView alloc] init]; 
    [textView setAttributedText:text]; 
    CGSize size = [textView sizeThatFits:CGSizeMake(width, FLT_MAX)]; 
    return size.height; 
} 

回答

1

只有同時具備contentSize比範圍更大的UIScrollView的滾動。 UIScrollView的內容大小可以通過計算子視圖的幀(從約束計算)或手動代碼(通常在viewDidLoad中)自動設置。 仔細檢查你的UIScrollView的contentSize。

+0

contentSize大於界限 – nabrugir