UIScrollViewのContentSizeを設定しても動かない…。AutoLayoutとUIScrollViewを併用する方法。

2013/09/12 (2016/09/14更新) タグ: , , ,
  • このエントリーをはてなブックマークに追加

これこれ数時間はまりました。UIScrollViewを使う時は、Storyboard上でUIScrollViewをおいて接続して、viewDidLoadにてContentSizeを設定すれば、スクロールできるようになります。しかし、設定してもうんともすんとも動かない。なぜか…。

SPONSOR

AutoLayoutをONにしていると動かない

原因はAutoLayoutにありました。まず、これをOFFにすると正しく動きます。

それでなぜAutoLayoutにチェックが入ると動かないのかというと、AutoLayoutはviewDidLoadの後に位置設置を行っているようなのです。なので、viewDidLoadでいくらContentSizeの設定をしても、上書きされてしまって無効になっていたとうことです。

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

結果的にはviewDidLayoutSubviews内で設定をすれば動きました。

この記事もおすすめ
記事を書いている中の人
入江慎吾
デザインも開発もやっているフリーのエンジニアです。目標はプロダクトだけで生きていくこと。そのために学んだこと、実践したことをブログで発信中。朝5時に起きて午前中だけ働いています。午後からは読書と勉強にあてて自己スキルをのばし、さらに生産性を高めたいと考えてます。(もっと詳しいプロフィール
この記事をシェアする
  • このエントリーをはてなブックマークに追加
メールマガジンで新着記事をフォロー

 

イリテクの最新情報をチェック!
  • follow us in feedly
    RSSで最新記事を読む
イリテクで開発したプロダクト
SPONSOR
こちらの記事もおすすめです