在iPhone视图中滚动页面

时间:2012-07-01 11:50:55

标签: objective-c ios ios5 ios4

我有一个视图,其中包含一些事件的详细信息,包括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)

我需要显示描述的全部内容,并使整个详细页面可滚动。

我做得对吗?或者我错过了什么?

我该怎么做?

谢谢。

2 个答案:

答案 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];
}