【发布时间】:2009-09-02 07:09:44
【问题描述】:
我添加了几个 UIScrollViews 作为单个 UIView 的子视图,并设置了框架,以便每个都清晰可见。我将 scrollEnabled 设置为 YES 并将 contentSize 设置为大于边界/框架。我在 for 循环中执行此操作,并且每次循环通过时,我都会释放 UIScrollView(尽管该对象仍被存储,因为它已被细分到 UIView 中)。这对于能够滚动存储在每个特定 UIScrollView 中的 imageView 非常有效,但我无法终生弄清楚如何让缩放工作。我在界面中包含了。以下是我尝试选择正确缩放视图的方法:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [[myView subviews] objectAtIndex:pageNum];
}
和
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [myView viewWithTag:pageNum];
}
似乎都不起作用。奇怪的是滚动效果很好。如果我进行 NSLog 调用,我什至根本无法调用 viewForZooming 方法。有任何想法吗?我想我已经因为对此感到沮丧而失去了所有的头发。
编辑:非常感谢 cduhn!我所需要的只是那个小颠簸,我忘记将scrollView委托设置为self ...我已经使用了几个月来利用UIScrollView的各种应用程序,并且一直在正确使用委托,而我最近没有使用不知道我的大脑去了哪里。
但是,您不需要覆盖 scrollViewDidEndZooming:withView:atScale:,无论缩放后如何,委托都会调用它。
此外,经过一番调整后,这也奏效了:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [[[myView viewWithTag:pageNum] subviews] objectAtIndex:0];
}
这只是调用 View 容器内的 scrollView,然后在其中获取 UIImage ......效果很好。
【问题讨论】:
标签: iphone arrays view uiscrollview