我无法使用多个UIImageView子视图获取UIScrollView以进行正确缩放,因此我尝试使用UIScrollView,其中包含多个UIScrollView子视图以及每个UIScrollView内部的UIImageView。这样一个UIScrollView只能滚动而另一个只能缩放。
我的问题是:如何访问子视图的子视图。我知道通常我可以使用[scrollView viewWithTag:tagInt];
访问子视图,但我似乎无法使用[[scrollView viewWithTag:tagInt] viewWithTag:tagInt2];
访问子视图的子视图,因为viewWithTag只返回单个UIView而不是所有子视图。
我总是可以为每个子视图提供一个唯一的标记并以这种方式访问它们,但这似乎不是最优雅的解决方案。
访问子视图然后进入subView的子视图的最佳方法是什么(即:访问用于缩放的UIScrollView,这是我主视图的子视图,然后访问它的subView UIImageView)?
答案 0 :(得分:3)
如果您现在不熟悉子类化,则必须为包含图像的UIScrollViews分配标签。然后你必须做更多的工作来做BobC建议的事情。
for (UIView *subview in [myScrollView subviews])
{
//check if the current subview is one of the UIScrollViews
if (subview.tag > 100)
//do something with the UIScrollView
}
答案 1 :(得分:0)
最优雅的方法是将UIScrollView
子类化,给它一个UIImageView
属性。这样,您可以使用以下内容访问此UIImageView
:
MyScrollView *myScrollView = (MyScrollView *)[scrollView viewWithTag:tagInt];
UIImageView *imageView = myScrollView.imageView;
希望这有帮助!
答案 2 :(得分:0)
您可以使用子视图属性获取任何UIView的子视图数组。
for(UIView *subview in [myScrollView subviews]) {
// do anything with your subview here.
}