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”]

Published in 開発奮闘記