1

いくつかのボタンを含む uiscrollview があります。ユーザーがスクロールビューの中央までボタンをスクロールしたとき、そのサイズを変更する必要があります。プログラムでボタンを作成して追加し、それぞれにタグ番号を割り当てました。どのボタンが中央にあるかを判断して変更できるようにする方法がわかりません。誰かがこのようなことをしましたか?

4

1 に答える 1

1

ボタンが scrollView の中央にあるかどうかを確認する場所に次のコードを配置します。

for (UIView *view in scrollView.subviews) {

    if ([view isKindOfClass:[UIButton class]]) {

        CGRect visibleRect = CGRectMake(scrollView.contentOffset.x, scrollView.contentOffset.y, scrollView.frame.size.height, scrollView.frame.size.width);
        CGRect centerRect = CGRectInset(visibleRect, 30, 30);
        BOOL isCentered = CGRectIntersectsRect(view.frame, centerRect);

        if (isCentered) {
            // the button is centered in the scroll view...
        }
    }

}

isCentered は、ボタンがスクロールビューの中央に配置されているかどうかを通知します。scrollView のサイズに適した値に 30 を変更する必要があります。

于 2013-03-22T19:24:45.733 に答える