1

読んでくれてありがとう。共有できる洞察に感謝します。

スクロールビューがあります。私はそれを呼びますmyTopScrollView

このスクロールビューの幅は1024ポイント、高さは340ポイントです。

オブジェクトライブラリからストーリーボードにドラッグした別のビューコントローラのサブビューを描画します。このViewControllerをとして識別しますtopScrollViewPage1

サイズインスペクターに移動して、幅1024ポイント、高さ340ポイントのフレーム長方形を指定します(図1を参照) 。

// Point to the main storyboard.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

// Point to the first scroll view for myTopScrollView.
UIViewController *myViewController = [storyboard instantiateViewControllerWithIdentifier:@"topScrollViewPage1"];

// Add the subview to the scroll view.
[self.myTopScrollView addSubview:myViewController.view];

// Define the content size - width and height.
self.myTopScrollView.contentSize = CGSizeMake(1024, 340);

// Add the scroll view to the view.
[self.view addSubview:self.myTopScrollView];

これで、正常にコンパイルされ、ロードされます。

ただし、サブビューの四隅をマークするために使用した4つのボタンは、ストーリーボードに配置した場所に正確に描画されますが、背景が赤のサブビューは、スクロールビューフレームの幅全体を埋めることはできません(図2を参照)。

問題はなぜですか?

興味深いことに、サブビューの赤い背景は768ポイント(縦向きのiPadの幅の長さ)で止まります。

UIViewこれは、おそらくこれがまたはUIViewControllerクラスの描画プロパティのデフォルト値であると私に思わせます。私はまだチェックしていますが、まだ何もありません。

ビューの背景がスクロールビューの全幅を埋めていない理由を知っていますか(スクロールビューのcontentSizeを1024ポイントの全幅に指定したにもかかわらず)?

4

1 に答える 1

0

OK、答えは識別子「topScrollViewPage1」を持つView Controllerに関係しています。

このView Controllerのビューの「Frame Rectangle」サイズは、デフォルト値のままでした。

ビューのサイズを変更するには、View Controller を強調表示し、[Attributes Inspector] に移動して、[Size] の下で [Inferred] を [Freeform] に変更します。

これにより、このビュー コントローラー内のビューのフレーム サイズを変更できます。

于 2011-12-19T03:25:12.827 に答える