xcode7.2のscrollviewで画面をスクロールさせる2
scrollviewのアクセスが多いので、試しに作り直してみたところ、xcode6くらいの比較的新しい手順でも全く動かないことがわかった。
プライドをかなぐり捨ててスクロールするだけでもと思ったが、これが全く動かない。という訳でさらにプライドを捨てて踏んづけてムシャムシャ食べる勢いで、youtubeの再現をしてみた。
今回、参考にした動画はこちら。今回は、これを見やすくしただけの記事と思って欲しい。
Swift - How to use Scrollview Xcode 7 (Storyboard) - YouTube
OK。動いた。
1.初期設定
Single View Application、言語はSwift、DevicesはiPhoneで始める。プロジェクト名、プロジェクト作成場所は適当。
今回、コードは一切使わないし、続かないので、swiftである必要性は全くない。再現だよ、再現!
2.ストーリーボードに移行
Main.Storyboardを選択し、
View ControllerのAttribute Inspectorを開く。SizeをiPhone 4.7inchに。
なぜサイズを変えてるか? オレが知るか! 再現だよ再現!
3.ラベルとテキストフィールドを配置
右下のペインにobject libraryを表示して、
動画同様にラベルとテキストフィールドを1個ずつ、適当に置いて適当に幅を広げる。
この時点では、View Controllerの上にViewがあり、その上にラベルやテキストフィールドのコンテンツが置いてある状態だ。
あとはひたすら、ラベルとテキストフィールドの両方を選択した状態で、command+optionボタンを押しながら掴んで引っ張るだけでコピペしていく。
4.View Controllerを広げる
枠いっぱいまでコピペしたら、View ControllerのSize Inspectorを開き、Simulated SizeをFreeformへ変更。
動画ではよく見えないので、ここでは適当にheightのサイズを900にしてリターン。
5.またラベルとテキストフィールドをコピペ
3.と同じ要領で、広がったビューにまたコンテンツを並べていく。単純作業。
ついでにスクロールがわかるようにラベルに降番を振っていく。
6.Scroll Viewを挿入
たぶん、この動画の肝。すべてのラベルとテキストフィールドをShiftで選択して、メニューのEditor→Embed in→Scroll View。
すると、ラベルとViewの間にScroll Viewが挟まるようになり、エラーも出た。
7.エラー対処1
2つ目の肝。一番上のラベルを選択。
画面右下のResolve Auto Layout Issuesをクリック。
Reset to Suggested Constraintsを選択。
8.エラー対処2
Scroll Viewを選択。
画面右下のResolve Auto Layout Issuesをクリック。
Reset to Suggested Constraintsを選択。
10.RUN
シミュレータを起動してアプリ起動。
11.シミュレータのリサイズ
言わなくてもわかると思うが……、最近のシミュレータはデカ過ぎるので25%のサイズへ。