【发布时间】:2013-10-12 23:39:54
【问题描述】:
我有一个 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);
}];
}
有什么想法吗?
【问题讨论】:
-
为标签的值选择 0 可能是不明智的,因为这是任何新创建的 UIView 的默认值。此外,
viewWithTag会遍历子层次结构(递归地,“向下”),这意味着如果您对标签值不小心,您可能会返回一个您不想获得的视图。
标签: ios objective-c