更改UIScrollView中间的按钮大小

时间:2013-03-22 19:12:55

标签: objective-c image button uiscrollview center

我有一个包含几个按钮的uiscrollview。当用户将按钮滚动到滚动视图的中间时,我需要更改它的大小。我已经以编程方式创建并添加了按钮,并为每个按钮分配了一个标签号。我只是不确定如何确定中间的哪个按钮以便我可以更改它。有人做过这样的事吗?

1 个答案:

答案 0 :(得分: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现在将告诉您按钮是否在滚动视图中居中。您必须将30值更改为适合scrollView大小的值。