UIScrollView を Storyboard でかう AutoLayout を利用したまま、うまく動作させるのに毎回忘れて戸惑うので残しておきます。
UIScrollViewが思うようにスクロールしないこと多いですよね。。。
Storyboard
1.ViewControllerのSizeをFreeformにする
2.ViewControllerの横幅を表示したいコンテンツの幅にする(例:640)
3.ViewControllerの構成はこんな感じ。ScrollViewの中にUITableViewを2つ横並びで入れました。
見た目は横幅が2枚分ある状態になります。
4.ViewControllerとのひも付けも忘れずに。
Storyboard は以上です。
Code
5. ViewController.h
//今回はSclViewという名前にしてあります
@property (weak, nonatomic) IBOutlet UIScrollView *SclView;
6.ViewController.m
viewDidLoadではなくviewDidLayoutSubviewsで色々指定します。
– (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
//コンテンツの幅を指定する(2で指定した横幅と同じ。例:640)
[self.SclView setContentSize: CGSizeMake(640.0, 420)];
//ScrollView自体の幅を画面のサイズに指定する(コンテンツの横幅 > ScrollViewの横幅)
self.ScrollContainer.frame = CGRectMake(self.ScrollContainer.frame.origin.x, self.ScrollContainer.frame.origin.y, 320, 420);
}
ここまでできたらBuidして完成です!