正确缩放包含许多子视图的UIScrollView

Dim*_*ris 19 iphone zoom objective-c uiscrollview

我创建了一个可缩放的UIScrollView并为其添加了100个子视图(平铺).视图向左和向右滚动.但是,我想允许缩放.

为此,我读到我的代表需要实现:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return ???;
}
Run Code Online (Sandbox Code Playgroud)

我见过只有一个子视图可以缩放的例子,所以他们在那个方法中返回那个子视图.然而,就我而言,我还有更多.缩放的正确方法是什么?

我尝试创建另一个UIView并将100个子视图添加到那个.然后在上面的方法中返回一个视图,但是我不工作(它缩放但是一旦它停止,它就不再是交互式的).

Lef*_*ris 43

究竟,

这也是Apple在Scroll View Programming Guide中提到的:

只需创建一个视图,将所有子视图添加到此视图,并将新创建的视图作为单个子视图添加到scrollview ...

然后在viewForZoomingInScrollView委托方法中返回索引0处的对象:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{
    return [self.scrollView.subviews objectAtIndex:0];
}
Run Code Online (Sandbox Code Playgroud)