59
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[iOS]setContentSizeをしてもUIScrollViewがスクロールしないときの対処

Last updated at Posted at 2014-01-07

症状

元々は、UIScrollViewでスクロールさせるときには、
ViewControllerのviewDidLoad内で、
scrollViewに対してsetContentSizeを使って
内部コンテンツの大きさを指定してやればスクロールできた。

…はずなのだが、しばらくぶりにXCodeをいじっていたら、それではスクロールできなかったので24時間ぐらい悩んだ。

原因と対処

どうやら、AutoLayoutを使っているとviewDidLoad内でsetContentSizeを呼び出しても駄目らしい。

参考: 2012/11/13 [iOS6] AutoLayoutを使用すると、viewWillAppear: でframeが決定しないので注意

AutoLayoutを使う際は、viewDidLayoutSubviews内でsetContentSizeを呼び出してやればうまく動く。

-(void)viewDidLayoutSubviews {
    [self.scrollView setContentSize: self.contentView.bounds.size];
    [self.scrollView flashScrollIndicators];
}
59
58
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?