[iPhone] UIScrollView ページ スクロール

アルバムアプリのように、1画面に写真1枚の表示させて、横フリップで画像が次々にスクロールさせるにはどうすればいいのでしょうか、UIScrollView はある程度簡単に作れるようになっています。
 
scrollview-paging

Swift 5.1
Xcode 11.3.1

 

UIScrollView

 

SwiftUIでは今のところScrollViewはできないので今までと同じようにStoryboardを使って作成します。(そのうちできるようになるのかもしれません)

基本的には横スクロールです。ページ毎に画像がスクロールさせるためPaging Enableを設定するところがポイントです。
 

 

画像をAssets.xcassetsに追加

 

適当な画像を4枚選んで使います。ここではヨガの画像を yoga_0@2x.jpg から yoga_3@2x.jpg という名前にしてAssets.xcassetsにコピペします。@2xを名前に入れてあるので2xとして設定されています。

 

 

UIScrollViewの設定

 

ScrollViewは、「View」「Show Library」からObjectsライブラリーが現れるので

ScrollViewを検索するとでてきます。

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

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

 

コードの記述

 

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

 

ViewController.swift

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

 

 

サンプル動画

 

  

関連ページ:

 

References:
UIScrollView – UIKit | Apple Developer Documentation
isPagingEnabled – UIScrollView | Apple Developer Documentation
About Scroll View Programming – Apple Developer
pagingEnabled – UIScrollView | Apple Developer Documentation


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする