1

私は XCode 4.5.2 でプロジェクトに取り組んでおり、さまざまな uiview をセットアップして、希望どおりに表示し、すべてが機能しています。

1 つのビューでは、コンテンツがページよりも大きくなり、垂直方向にスクロールする必要があるため、uiscrollview を追加する必要があります。

uiscrollview を追加し、viewdidload でコンテンツ サイズなどを設定しました。

[scrollView setScrollEnabled:(YES)];
[scrollView setContentSize:CGSizeMake(320,650)];

これを実行して垂直方向にスクロールしようとすると、スクロール バーが表示されるので、uiscrollview は動作してスクロールしますが、uiview に既に追加したすべてのコンテンツは静止したままで移動しません。

小さなクイックテスト画像をプログラムでスクロールビューに追加しようとしました

CGRect imageViewFrame = CGRectMake(10,10,10,10);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:imageViewFrame];
imageView.image = [UIImage imageNamed:@"1001_a.jpg"];
[scrollView addSubview:imageView];

そして、この小さな画像はスクロールビューで正常に機能し、スクロールしますが、以前に追加された他のすべてのコンテンツ、ラベル、画像などはすべて元の場所にとどまり、まったく移動しません。

これはサブビューと関係があると思いますが、以前の既存のコンテンツはすべてスクロールビューのサブビューではありませんが、これを修正するにはどうすればよいですか?

私はすでに自分のページと uiview をインターフェイス ビルダーでレイアウトしており、小さなテスト イメージで行ったように、すべてを削除してプログラムですべてのコンテンツを追加したくありません。

既存のコンテンツをサブビューとして uiscrollview に設定するために、viewdidload で何かする必要がありますか?

[scrollView addSubview:???];

事前にヒントやアドバイスをありがとう - これは私を夢中にさせています!!

スクリーンショットや追加のコードが必要な場合は、喜んで添付してください。

4

1 に答える 1

2

問題は、スクロールビューではなく、すべてのものが UIView に追加されることです。スクロールビューをスクロールすると、その子のみがスクロールされます。そのため、テスト画像がスクロールします。これをペン先で構築している場合は、スクロールビュー内でスクロールする必要があるすべてのものをドラッグするだけで機能します。コントローラー UIView を UIScrollView 自体に変更することもできます。これは、ユーティリティの右側のバーの 3 番目のタブにあり、カスタム クラスと表示されているので、UIScrollView に変更します。この方法では汎用性がいくらか失われますが、これが最速の方法です。

于 2013-01-02T19:36:47.910 に答える