2012-05-06 10 views
1

午後2 UITcrollViewのUITableView

2つのテーブルを保持するスクロールビューを作成しようとしています。コードは以下に掲載されていますが、テーブルは問題なく作成され、ビルド時にデータをロードしていますが、2番目のテーブルが正しく動作しているようです。データをスクロールしたり、セルを選択することはできません。何かご意見は??

おかげ

- (void)setupPage 
{ 
scrollView.delegate = self;  
[self.scrollView setBackgroundColor:[UIColor grayColor]]; 
[scrollView setCanCancelContentTouches:NO]; 

scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
scrollView.clipsToBounds = YES; 
scrollView.scrollEnabled = YES; 
scrollView.pagingEnabled = YES; 

int initialXPos = 0; 
int initialYPos = 10; 

int arraycounter=0; 
CGFloat cx = 0; 
int aWidth = 0; 

for (int j=0; j<3; j++) 
{ 
    if (j == 0) 
    { 
     UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(initialXPos, initialYPos, 320, 250)]; 
     myView.backgroundColor = [UIColor redColor]; 

     UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(initialXPos, 0, 320, 250) style:UITableViewStylePlain]; 
     self.tableView = tableView; 

     tableView.dataSource = self; 
     tableView.tag = 1;   
     [tableView reloadData]; 

     [myView addSubview:tableView]; 
     [scrollView addSubview:myView]; 
    } 

    if (j == 1) 
    { 
     UIView *myView1 = [[UIView alloc] initWithFrame:CGRectMake(initialXPos, initialYPos, 320, 250)]; 
     myView1.backgroundColor = [UIColor redColor]; 

     UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(initialXPos, 0, 320, 600) style:UITableViewStylePlain]; 
     self.tableView = tableView; 

     tableView.dataSource = self; 
     tableView.tag = 2;   
     [tableView reloadData]; 

     [myView1 addSubview:tableView]; 
     [scrollView addSubview:myView1]; 
    } 

    initialXPos = initialXPos + 320 ; 
    arraycounter=arraycounter+1; 
    aWidth = aWidth + 320; 
    cx += scrollView.frame.size.width; 
} 
cx = aWidth; 
self.pageControl.numberOfPages = arraycounter; 
[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)]; 
} 
+1

j == 1の場合、tableViewのフレームを設定するときは、必ずmyView1を基準にした座標を使用してください。 –

+0

私はスクロールビューを作成するとき何か間違っているようです。私はviewdidload上のルーチンを実行するが、私は - (id)initWithNibName:(NSString *)nibNameOrNilバンドルに移動:(NSBundle *)nibBundleOrNilそれは完全に失敗します。 –

+0

最後のコメントを無視してください! –

答えて

0

あなたは、このようにそれを行う必要があります

[scrollView addSubview:tableView1];

[scrollView addSubview:tableView2];

[myView addSubview:scrollView];

スクロールビューに最初の2つのテーブルを追加し、スクロールビューをメインビューに追加する この方法でこの問題を解決しました。