UIViewController
がview
性質を有しています。したがって、view
にUIScrollView
を追加できます。つまり、スクロール・ビューをビュー階層に追加することができます。
これはコードまたはXIBによって実現できます。さらに、ビューコントローラをスクロールビューのデリゲートとして登録することもできます。このようにして、さまざまな機能を実行するためのメソッドを実装できます。 UIScrollViewDelegate
プロトコルを参照してください。
// create the scroll view, for example in viewDidLoad method
// and add it as a subview for the controller view
[self.view addSubview:yourScrollView];
またUIViewController
クラスのloadView
メソッドをオーバーライドして、あなたが検討しているコントローラのメインビューとしてスクロールビューを設定することができます。
編集
私はあなたのために少しのサンプルを作成しました。ここには、UIViewController
のビューの子としてスクロールビューがあります。スクロールビューには、子としてのビューが2つあります。view1
(青色)とview2
(緑色)です。
ここでは、水平方向または垂直方向のいずれかの方向にのみスクロールできるとします。以下では、水平方向にスクロールすると、スクロールビューが期待通りに機能することがわかります。あなたは垂直方向にのみ、以下のように変更することができますスクロールする必要がある場合は
- (void)viewDidLoad
{
[super viewDidLoad];
UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
scrollView.backgroundColor = [UIColor redColor];
scrollView.scrollEnabled = YES;
scrollView.pagingEnabled = YES;
scrollView.showsVerticalScrollIndicator = YES;
scrollView.showsHorizontalScrollIndicator = YES;
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width * 2, self.view.bounds.size.height);
[self.view addSubview:scrollView];
float width = 50;
float height = 50;
float xPos = 10;
float yPos = 10;
UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(xPos, yPos, width, height)];
view1.backgroundColor = [UIColor blueColor];
[scrollView addSubview:view1];
UIView* view2 = [[UIView alloc] initWithFrame:CGRectMake(self.view.bounds.size.width + xPos, yPos, width, height)];
view2.backgroundColor = [UIColor greenColor];
[scrollView addSubview:view2];
}
は:
scrollView.contentSize = CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height * 2);
を明らかに、あなたはview1
とview2
の位置を再配置する必要があります。
P.S.ここで私はARCを使用しています。 ARCを使用しない場合は、明示的にrelease
alloc-initオブジェクトが必要です。
UIViewControllerのビューにUIScrollViewを追加して、UIViewControllerをUIScrollViewに表示することができます –
このようなことをする前に、コントローラとビューを見ていきます。彼らは本当に異なるものです。 – Mert
スクロールビューをビューコントローラに追加してコントローラをスクロールビューに表示することができます。スクロールビューを既存のviewControllerにサブビューとして追加することができます – Talha