簡體   English   中英

UIScrollView使用自動布局和動態約束無法滾動

[英]UIScrollView not scrollable using autolayout and dynamic constraints

我有一個視圖,其中包含滾動視圖,容器視圖和3個子視圖(頂視圖,文本視圖和底視圖)。 請參見下面的視圖層次結構。 文本視圖的高度是根據其內容定義的。 我為其高度定義了動態約束,並在viewDidLayoutSubviews中對其進行了更改。 textview的大小是正確的,但是問題是我的scrollview沒有滾動。 我做錯了什么? 也許我需要添加/修改其他一些約束?

在此處輸入圖片說明

-(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;
}

僅當UIScrollView的contentSize大於界限時才滾動。 UIScrollView的內容大小可以通過計算子視圖的框架(根據約束條件計算)自動設置,也可以通過代碼手動設置(通常在viewDidLoad中)。 仔細檢查您的UIScrollView的contentSize。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM