UIScrollViewで上に余分な隙間が出来てしまう時の回避方法
追記
こちらに解決方法を書きました。
UITableViewの上にヘッダー分の隙間が開くときの対処法 - Simple gadget life programming diary
SCrollViewのエリアをグレーに、貼り付けるViewを赤にして再現。
ちなみにグレーのエリアと赤いViewは同じ高さ。下のキャプチャでは赤いViewが埋まったようになっている。
調べるとどうやら64pix分余分な隙間がある。
そのため以下のようにして回避。
UIScrollView *_scrollView = [UIScrollView new]; _scrollView.frame = CGRectMake(0, 164, 320, 320); _scrollView.pagingEnabled = NO; _scrollView.showsVerticalScrollIndicator = NO; _scrollView.showsHorizontalScrollIndicator = YES; _scrollView.scrollsToTop = NO; _scrollView.backgroundColor = [UIColor grayColor]; _scrollView.delegate = self; //赤いView。y座標開始位置を-64に。 UIView *kariview = [[UIView alloc]initWithFrame:CGRectMake(0, -64, 1320, 320)]; kariview.backgroundColor = [UIColor redColor]; [_scrollView addSubview:kariview]; //ScrollViewのcontentSizeの高さも-64に。 _scrollView.contentSize = CGSizeMake(kariview.bounds.size.width, kariview.bounds.size.height-64); _scrollView.bounces = YES; [self.view addSubview:_scrollView];
これで実行すると、
ちゃんと表示される。上下にも動かない。
本当はもっと正しい設定方法があるような気がする。。