Interface Builder内のUIScrollViewsでAutoLayoutを使用する非常に簡単な方法:
ステップ 1:を作成するUIScrollView
ステップ 2: 次UIView
のように、スクロール ビューの子である を作成します。
-UIScrollView
---UIView
-----Your other content
(これを と呼びますcontentView
)。
ステップ 3:サイズ インスペクターで、このビューの高さと幅 (たとえば 320x700) を指定します。
ステップ 4 (AutoLayout を使用):contentView
スーパービュー ( ) への明確な制約を作成しますUIScrollView
。4 つのエッジ (上、前、後、下) を接続し、スクロールする幅と高さを定義します。
例: スクロール ビューが画面全体にまたがる場合、コンテンツ ビューの幅を [device width]、高さを 600 にすることができます。次に、コンテンツのサイズUIScrollView
を一致するように設定します。
また:
ステップ 4 (AutoLayout を使用しない): IB を使用して、これらの新しいコントロールの両方をビュー コントローラーに接続します (ctrl キーを押しながら各コントロールからビュー コントローラーの .h @implementation にドラッグします)。scrollView
それぞれが と と呼ばれるとしましょうcontentView
。次のようになります。
@interface YourViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIView *contentView;
@end
ステップ 5 (AutoLayout を使用しない場合):ビュー コントローラーの .h ファイルに、次のメソッドを追加 (実際にはオーバーライド) します。
-(void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.scrollView.contentSize = self.contentView.frame.size;
}