在UIScrollview中获取UIView的子视图

时间:2013-10-12 23:39:54

标签: ios objective-c

我有一个UIScrollView,里面有UIViews,而那些UIViews是UIImageViews。我正在尝试访问UIImageViews

为了概念验证,我有一个带有UIView的滚动视图,其中包含一个UIImageView,两者的标签都设置为0。

代码:

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

UIView *currentView = (UIView *)[scrollView viewWithTag:0];
UIImageView *currentImageView = (UIImageView *)[currentView viewWithTag:0];

[self bobbleView:currentImageView];

}

然后我试图连续上下UIImageView(这本身就是另一个问题,我只能把它弄到一次,所以我就把那个代码留下了),但是发生的事情是< strong>整个UIScrollView及其子视图正在浮动。

那段代码:

-(void)bobbleView:(UIView *)viewIn{

        viewIn.transform = CGAffineTransformMakeScale(1.2, 1.2);
        [UIView animateWithDuration:1 animations:^{
            viewIn.transform = CGAffineTransformMakeScale(1.0, 1.0);
        }];

}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

viewWithTag doc说:

Discussion
This method searches the _current view_ and all of its subviews for the specified view.

(强调我的)

您所看到的是:

(UIImageView *)[currentView viewWithTag:0]

返回

currentView

HTH

答案 1 :(得分:0)

是..为视图指定唯一标记,并且彼此不同。我敢打赌,如果你在bobbleView的调用中设置一个断点,你的UIImageView对象将是你的UiScrollView而不是imageview,也不是UiView ...使用简单的标签,比如UXiews的100X fir和imageview的200X