Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 299 - Scroll Viewの座標システム

Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide
質問 : Swiftで遊ぼう! - 252 - FaceViewプロジェクト始動 - Swiftで遊ぼう! on Hatena

スタンフォード大学のポール先生の講義を進めています。

Lecture9のスクロールビューをプロジェクトに組み込んでいくところです。

コーディングの前にScroll Viewの座標システムを理解する必要があるので、「Swiftで遊ぼう! - 249 - UIViewの座標システム 」に続く内容です。

画面上に見えるオブジェクトは全てUIViewをスーパークラスとして持っているのでUIViewと言えます。viewというrootビューの上に、UIViewを次々と加えることで画面にオブジェクトを並べることができることは今までに理解しました。

UIImageオブジェクトのイメージを画面に描画するためにコンテナになるUIView(インスタンス名がimageView)にイメージを持たせてから、rootビューに加えるためのメソッド、view.addSubview(imageView)*1を使います。

イメージが大きすぎる場合、このコーディングでイメージを表示させると大きな画面の一部しか表示できません。ここでScrollViewを使って大きなイメージを扱います。

rootビューにScrollViewを設置して、その上にimageViewを加えます。

ここでScrollViewに関する座標システムに関する情報を整理します。

ScrollViewを組み込むこんでやらなければならないのがコンテンツのサイズを指定することです。

f:id:yataiblue:20150504093247j:plain

scrollView.contentSize = CGSize(width: CGFloat, height: CGFloat)

こうしてスクロールできる領域を指定してからimageViewをこの中に組み込みます。

scrollView.addSubview(imageView)

iOSバイスの画面の位置は左上隅のCGPointで指定します。

scrollView.contentOffset(x: CGFloat, y: CGFloat)

UIViewの座標システムを理解してScrollViewの座標システムを理解します。

ここまで

*1:このコーディングですが、ちょっと注意が必要です。UIView関連のオブジェクトはコードでインスタンス化させる方法とオブジェクト・ライブラリからドラッグしてジェネリックなオブジェクトを生成してから「Ctrl + ドラッグ」してoutletとしてインスタンス化させる方法があります、このview.addSubview(imageView)はコードで組み込む方法です。