[iPhone] UIScrollView 横スクロール (Objective-C)

写真アプリでは1画面に写真1枚の表示で、スワイプさせて次の写真を閲覧できますが、そのような機能を実現させるにはUIScrollViewを使うと可能です。

page-scrollview

Objective-C
Xcode 9.3

UIScrollView

ページ毎に画像がスクロールさせるためPaging Enableを設定するところがポイントになります。

画像をAssets.xcassetsに追加

例としてヨガのポーズ画像を使いますがその画像ファイル、yoga_0@2x.jpg から yoga_3@2x.jpg までをAssets.xcassetsにコピペします。@2xを名前に入れてあるので2xとして設定されています。

UIScrollViewの設定

Storyboard を開き背景色を適当に決めます。Scroll View を選択してSafeAreaあたりに設置します。



ここでScroll View の Paging Enabled にチェックを入れることにより、ページスクロールが可能となります。

コードの記述

  1. UIScrollView のインスタンスを生成
  2. 画像ごとにそのframeサイズを設定し
  3. addSubview でUIScrollViewに加える
  4. 描画開始のカーソルポイントを決め
  5. UIScrollViewのコンテンツサイズを画像のtotalサイズに合わせる

ViewController.m


Storyboard の ScrollView の 「New Reference Outlet」 をコードと紐付けします。
これで、横スクロールで次々と画像が表示されていきます。


サンプル動画

Swiftでは以下を参考にしてください。

アルバムアプリのように、1画面に写真1枚の表示させて、横フリップで画像が次々にスクロールさせるにはどうすればいいのでしょうか、UIScrol…



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