1

そのため、ユーザーアバターを含むさまざまなUIImageViewをページングしながら、水平方向にスクロールするUIScrollviewがあります。ただし、実際に画面に表示されているURL IFFからのみアバターをロードしたいと思います(一度に4つ表示されますが、30以上またはそれ以下のようにスクロールできます)。どのUIImageView/どのページにあるかを検出する方法はありますか?または、この問題をどのように処理するかについて、一般的な推奨事項やアイデアはありますか?前もって感謝します。

4

1 に答える 1

1

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
        CPoint offset = scrollView.contentOffset;
        int index = offset.x / pageWidth;
        switch (index) {
            case 0:
                //first ImageView
                break;
            case 1:
                //second ImageView
                break;
            default:
                break;
        }
    }

または、imageViewsにタグを付ける場合(1から開始)、次の方法でそれらを取得できます。

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    CPoint offset = scrollView.contentOffset;
    int index = offset.x / pageWidth;
    UIImageView *visibileImageView = (id)[scrollView viewWithTag:index+1];
}

モジュラスを使用する場合は、scrollViewDidScrollを使用して任意のポイントで位置を検出できます。

int index = (offset.x - offset.x % pageWidth)/pageWidth;
于 2012-07-13T19:00:27.927 に答える