0

我有一个 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 (这本身就是另一回事,我只能让它摆动一次,所以我只是把代码留在里面),但正在发生的是整个 UIScrollView 及其子视图正在波动

该代码:

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

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

}

有什么想法吗?

4

2 回答 2

1

医生viewWithTag说:

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

(强调我的)

你看到的是:

(UIImageView *)[currentView viewWithTag:0]

返回

currentView

高温高压

于 2013-10-12T23:53:10.487 回答
0

是的.. 为视图分配唯一标签并且彼此不同。我敢打赌,如果您在对 bobbleView 的调用中设置断点,您的 UIImageView 对象将是您的 UiScrollView 而不是 imageview 或 UiView... 使用简单的唯一标签,例如 100X 用于 UIViews 和 200X 用于 imageview

于 2013-10-12T23:49:37.497 回答