画面サイズに収まるUIScrollViewの上に、画面サイズに収まらない(または拡大表示すると収まらなくなる)コンテンツを置くことで、スクロールが可能になる仕組み。
UIScrollViewは要するにでかいコンテンツを見せるための窓のようなもの。
Storyboardからも設定できるからそっちから使いたいけど、ちょっと扱いにくい。
Xcode8にもなって、いまだ完全対応してないのかよ…と愚痴ってやりたい。
具体的には、中のでかいコンテンツのサイズを設定するcontentSizeがStoryboardじゃ設定できないっぽい。
Storyboardで設定するだけじゃ以下のようなWarningが出てしまう。
コンパイル、実行はできるけど気持ち悪い。
warning: Ambiguous Layout: Scrollable content size is ambiguous for "My Scroll View".
なので通常は以下のようにコードで設定してやる必要がある。
myScrollView.contentSize = CGSize(width: 500, height: 500)
その場合は、ダミーのUIViewをScrollViewに上下左右のマージン0、センターをScrollViewと同じにするConstraintsにして貼ってやり、さらにその上に中身のでかいコンテンツを置いてやるとWarningが消えてくれる。
UIScrollViewはまだ不慣れなので、わかんない点もあるので、いろいろ調べてみたい。
0 件のコメント:
コメントを投稿