繁体   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