[iPhone] 大きい画像を UIScrollView でスクロールする

地図をスクロールさせるように、大きめの画像をスクロールするには UIScrollView を使えば簡単にできます。ここでは基本的な作り方について確認してみます。


Swift 5.1
Xcode 11.3.1

UIScrollView

最初に下のような大きめの画像、1600x1066pixサイズです。img@2x.jpgとするので、800×533の大きさとしてアプリでは使います。



一方、表示する側として例えば iPhone7 の場合は750×1334pixですがretinaなので半分の375×667 で扱います。



イメージとしてはこのようになります。


サンプルコード

UIScrollViewの大きさは画像サイズいっぱいに合わせました(ピンクの枠)

表示窓はスマホのスクリーンサイズより小さい窓となります(黄色い枠)




まとめるとこのようになります。storyboardはここでは使いません。

ViewController.swift


これで画像をスクロールして見ることができましたでしょうか



ここでは画像をUIScrollViewにaddSubViewで貼り付けましたが、LabelやButtonなども同様にできます。



関連:

References:
UIScrollView — UIKit | Apple Developer Documentation
About Scroll View Programming — Apple Developerocumentation(Objective-C)