UIScrollViewがあり、その中にいくつかのUILabelとUITextViewがあります。UIScrollViewは、マスターUIViewのサブビューです。UIScrollViewは次のように初期化されます。
UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(30, 75, rct.size.width-50, 1000)];
UILabelsはサブビューとして追加されます。
lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 20)];
lbl.textColor = [UIColor whiteColor];
[lbl setBackgroundColor:[UIColor greenColor]];
[lbl setFont:[UIFont fontWithName:@"Arial-BoldMT" size:16]];
lbl.text = [NSString stringWithFormat:@"name: %@",firstName];
[scrollView addSubview:lbl];
[lbl release];
lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, 200, 40)];
lbl.textColor = [UIColor whiteColor];
[lbl setBackgroundColor:[UIColor redColor]];
[lbl setFont:[UIFont fontWithName:@"Arial-BoldMT" size:16]];
lbl.text = [NSString stringWithFormat:@"last name: %@",lastName];
[scrollView addSubview:lbl];
[lbl release];
.
.
// TEXT VIEW
UITextView *txt1 = [[UITextView alloc] initWithFrame:CGRectMake(0, 160, rct.size.width-50, 1000)];
txt1.textAlignment = UITextAlignmentLeft;
txt1.textColor = [UIColor whiteColor];
[txt1 setBackgroundColor:[UIColor clearColor]];
UIFont *f = [UIFont fontWithName:@"Arial-BoldMT" size:16];
[txt1 setFont:f];
txt1.text = [NSString stringWithFormat:@"info: %@",personInfo];
[scrollView addSubview:txt1];
CGRect newframe1 = txt1.frame;
newframe1.size.height = txt1.contentSize.height + 3; // offset for shadow
txt1.frame = newframe1;
[txt1 release];
TextViewはハックとして追加され(ここに表示)、基本的にスクロール可能なのは1つだけで、他のビューは静的なままです。スクロールする必要もあります。
編集: scrollViewの境界の外側でもUILabelを追加すると、そこでスクロールしません:
lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 940, 100, 1000)];
lbl.textColor = [UIColor whiteColor];
[lbl setBackgroundColor:[UIColor whiteColor]];
[lbl setFont:[UIFont fontWithName:@"Arial-BoldMT" size:20]];
lbl.text = [NSString stringWithFormat:@"TEST"];
[scrollView addSubview:lbl];
[lbl release];
scrollViewは動揺しません!