0

私はiPhone開発に不慣れです。水平スクロールビュー内に垂直スクロールビューを追加する方法を教えてください。私は多くのサンプルを調べましたが、それについて明確な画像を得ることができませんでした。ビューを垂直方向と水平方向の両方にスクロールしたい。どんな助けでも大歓迎です。

スクロールするための私のコードは次のとおりです。

編集:これがスクロール用の私のコードです

  self.firstScroll.pagingEnabled=YES;

 self.firstScroll.clipsToBounds=YES;

   int numberOfViews=3;

 for(int i=0;i<numberOfViews;i++){

    CGFloat xOrigin=self.view.frame.size.width*i;

    UIView *awesomeView=[[UIView alloc] initWithFrame:CGRectMake(xOrigin, 0,        self.view.frame.size.width, self.view.frame.size.height)];
    awesomeView.backgroundColor=[UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
    [self.firstScroll addSubview:awesomeView];
 }
self.firstScroll.contentSize=CGSizeMake(self.view.frame.size.width*numberOfViews,     self.view.frame.size.height);
[self.view addSubview:firstScroll];


self.nextVerticalScroll.pagingEnabled=YES;
for(int i=0;i<numberOfViews ;i++){
    CGFloat yOrigin=self.view.frame.size.height * i;
    UIView *verticalView=[[UIView alloc]initWithFrame:CGRectMake(0, yOrigin, self.view.frame.size.width, self.view.frame.size.height)];
  verticalView.backgroundColor=[UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
    [self.nextVerticalScroll addSubview:verticalView];
}
self.nextVerticalScroll.contentSize=CGSizeMake(self.view.frame.size.width, self.view.frame.size.height*numberOfViews);
[self.view addSubview:nextVerticalScroll];

ありがとう、

ラージ

4

2 に答える 2

1

水平ジェスチャを取得するものと垂直ジェスチャを取得するものを制御できないため、スクロールビュー内にスクロールビューを含めたくない場合があります(少なくとも面倒な作業は必要ありません)。contentSizeスクロールビュー自体よりも水平方向と垂直方向に大きい単一のスクロールビューを作成する方がはるかに簡単ですbounds。例:

- (void)configureScrollView
{
    NSInteger rows = 4;
    NSInteger cols = 5;

    CGFloat width = self.scrollView.bounds.size.width;
    CGFloat height = self.scrollView.bounds.size.height;

    // configure my scroll view itself

    self.scrollView.contentSize = CGSizeMake(width * cols, height * rows);
    self.scrollView.pagingEnabled = YES;
    self.scrollView.backgroundColor = [UIColor darkGrayColor];

    // now let's add the labels to the scrollview

    for (NSInteger row = 0; row < rows; row++)
    {
        for (NSInteger col = 0; col < cols; col++)
        {
            // making my label just a little smaller than the scrollview's bounds so I can easily see the scrolling/paging

            CGRect frame = CGRectMake((width * col) + 20.0, (height * row) + 20.0, width - 40.0, height - 40.0); 

            // create and configure the label

            UILabel *label = [[UILabel alloc] initWithFrame:frame];
            label.text = [NSString stringWithFormat:@"%1.0f", row * cols + col + 1.0];
            label.textAlignment = UITextAlignmentCenter;
            label.backgroundColor = [UIColor lightGrayColor];

            // add it to my scrollview

            [self.scrollView addSubview:label];
        }
    }
}

スクロールビューに20種類のテキストラベルを入力しているだけです(スクロールビューの背景の色をラベルとは異なる色にして、ラベルが見えるようにしています)が、基本的な考え方を示しています。

于 2012-08-07T15:14:05.163 に答える