0

UIScrollViewたくさんのテキストが含まれているがあります。ユーザーが上にスクロールすると、上部に少し色から透明のビューが作成されるので、テキストが落ちたようには見えません。

scrollViewが正常に機能している、デリゲートが設定されているなど。

これはすべてうまく機能し、ダンディであり、私はこれを取得します(これは私が欲しいものです):

スクロールする前に:

ここに画像の説明を入力してください

下にスクロールし始めると、次のように大きくなります。

ここに画像の説明を入力してください

上にスクロールすると、次のように縮小します。

ここに画像の説明を入力してください


問題: しかし!速くフリックするscrollViewDidScroll:(UIScrollView *)scrollViewと、十分に速く呼び出されず、グラデーションのフレームが更新されないようです。チェックする必要のある別のscollViewデリゲートメソッドはありますか?あるいは、グラデーションを間違った方法で処理しようとしているのかもしれません。

ここに画像の説明を入力してください


scrollViewDidScroll:(UIScrollView *)scrollViewグラデーションフレームの更新を処理する私の方法は次のとおりです。

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

    //Only want our gradient to show if text is off screen
    if (scrollView.contentOffset.y >= 0) {

        //Dont want our gradient to be larger than 8 pixels tall
        if (scrollView.contentOffset.y <= 8) {

            //Grab our view that draws gradient frame
            CGRect frm = self.shadeView.frame;

            //Set it the size to be absolute value of our scrollView offset
            frm.size.height = abs(scrollView.contentOffset.y);

            //Set the frame
            self.shadeView.frame = frm;
        }
    }
    //If the scrollView is scrolled to the top we don't want to show our gradient so we set it's height to 0. 
    else {
        CGRect frm = self.shadeView.frame;
        frm.size.height = 0;
        self.shadeView.frame = frm;
    }
}
4

0 に答える 0