Skip to content →

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

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

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

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

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

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

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

[sc name=”ios”][sc name=”engeneer”]

SHARE

PROFILE

入江 慎吾
Webサービスを作るのが大好きです。制作会社10年→フリーランス→受託をやめサービス開発に専念。プログラミングのメンターサービスMENTAは月間流通額約1,300万を突破🚀 YouTubeでは個人開発について語ってます / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

Published in 開発奮闘記