这取决于您要动态添加的内容类型。假设您有大量文本数据要显示,那么请使用UITextView。由于它是UIScrollView的子类,因此在分配文本内容时,您可以获取TextView的setContentSize。基于此,您可以设置UIScrollView的总大小。
float yPoint = 0.0f;
UIScrollView *myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, yPoint, 320.0f, 400.0f)];
UITextView *calculatorTextView = [[UITextView alloc] init]; calculatorTextView.text = @"My looong content text ..... this has a dynamic content"; `
[calculatorTextView sizeToFit];
yPoint = yPoint + calculatorTextView.contentSize.height;
// 现在你知道了文本的高度和结束位置。因此,你可以创建一个标签或另一个TextView,并在那里显示你的文本。你可以将这些组件作为子视图添加到滚动视图中。
UITextView *myDisplayContent = [[UITextView alloc] initWithFrame:CGRectMake(0.0f, yPoint, 300.f, calculatorTextView.contentSize.height)];
myDisplayContent.text = @"My lengthy text ....";
[myScrollView addSubview:myDisplayContent];
// 最后,将'myScrollView'的内容大小设置为显示区域的总长度。
[myScrollView setContentSize:yPoint + heightOfLastComponent];
这对我有效。