我有一个视图,其中包含一些事件的详细信息,包括imageview,一些标签等。 我将事件的描述视为视图中的一个小子视图,可以滚动如下。
CGRect descriptionTextViewRect = CGRectMake(15, 185, 280, 85);
descriptionText = [[UITextView alloc] initWithFrame:descriptionTextViewRect];
descriptionText.textAlignment = UITextAlignmentLeft;
descriptionText.text =des;
descriptionText.editable = NO;
descriptionText.layer.cornerRadius = 5.0;
descriptionText.clipsToBounds = YES;
descriptionText.userInteractionEnabled = YES;
descriptionText.font = [UIFont systemFontOfSize:15];
[scrollView addSubview: descriptionText];
我遵循了这个link但是我可以滚动文本视图和滚动视图
我这样跟着
float sizeOfContent = 0;
int i ;
for (i=0; i<[scrollView.subviews count]; i++) {
sizeOfContent += descriptionText.frame.size.height;
}
scrollView.contentSize = CGSizeMake(descriptionText.frame.size.width, sizeOfContent)
我需要显示描述的全部内容,并使整个详细页面可滚动。
我做得对吗?或者我错过了什么?
我该怎么做?
谢谢。
答案 0 :(得分:0)
您要多次添加相同项目的高度。
此:
for (i=0; i<[scrollView.subviews count]; i++) {
sizeOfContent += descriptionText.frame.size.height;
}
应该是这样的:
for (UIView *view in scrollView.subviews) {
sizeOfContent += view.frame.size.height;
}
因此,它会将所有项目的高度正确添加到sizeOfContent
。
答案 1 :(得分:0)
每次都在同一位置添加子视图。例如:如果要添加5个子视图,则应如下所示:
for(int i=0; i<5; i++)
{
CGRect descriptionTextViewRect = CGRectMake(15, i*185, 280, 85);
descriptionText = [[UITextView alloc] initWithFrame:descriptionTextViewRect];
descriptionText.textAlignment = UITextAlignmentLeft;
descriptionText.text =des;
descriptionText.editable = NO;
descriptionText.layer.cornerRadius = 5.0;
descriptionText.clipsToBounds = YES;
descriptionText.userInteractionEnabled = YES;
descriptionText.font = [UIFont systemFontOfSize:15];
[scrollView addSubview: descriptionText];
}