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