0

Appleサンプルコードから適応した次のコードを使用して、約10以上の画像が水平にレイアウトされたUIScrollViewがあります。

- (void)layoutScrollViewImages
{
    UIImageView *view = nil;
    NSArray *subviews = [scrollView subviews];
    CGFloat curXLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(curXLoc, 0);

            view.frame = frame;
        curXLoc += (kScrollObjWidth);

        }
    }
    [scrollView setContentSize:CGSizeMake((kNumImages * kScrollObjWidth),[scrollView bounds].size.height)];
}

ユーザーは一度に 1 つずつ画像を水平にページ表示できますが、個々の画像をズーム可能にしたいと考えています。viewForZoomingInScrollView で scrollView を返そうとしましたが、個々の画像ではなく、スクロールビュー全体をズームしているようです。さらに、UIImageView をプロパティとして設定してそれを返そうとしましたが、まだ成功していません。さらに、ストーリーボードにピンチ ジェスチャ認識機能を追加しようとしましたが、まったく機能しませんでした。したがって、scrollView.subviews の配列内で個々の UIImageView を返す基本的な方法に関するガイダンスを探しています。

4

1 に答える 1

0

画像から画像へスワイプできますが、個々の画像ごとにズーム/スクロールできる Apples Photo Library 効果に似たものが必要なようです。

各サブビューを独自のズームスクロールビュー内に配置する必要があります。次に、それぞれが他とは独立してスクロールできます。

Apple の 'photoscroller' サンプル コードを見てください (ドキュメントで photoscroller を検索してください)。コードに付随する WWDC ビデオもあります (WWDC 2010、「スクロール ビューを使用したアプリの設計」)。

于 2012-12-23T18:22:58.860 に答える