- 更新日: 2015年12月4日
- Swift & iOS
UIPageViewController画面下部のUIPageControlを非表示にする
スポンサーリンク
iOS 開発で UIPageViewController 利用時に、画面下部に表示されるドットによるページ案内の表示(UIPageControl)を非表示にさせたかった。UIPageControl は以下のように、iPhone の画面下部に表示されて、現在画面上の何ページ目にいるか分かるUI部品です。
— 環境 —
Mac OS X Yosemite 10.10.5
Xcode 7.0
Swift 2.0
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
UIPageViewControllerDataSource のデリゲートメソッド2つを削除
UIPageViewController 利用時に UIPageControl を非表示にするためには、UIPageViewControllerDataSource プロトコルのデリゲートメソッドである、以下2つのメソッドを実装しないようにする。もしくは作成済みの場合は削除する。
1 2 3 4 5 6 7 |
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int { return self.pageTitles.count } func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int { return 0 } |
UIPageControl は Transition Styleが Scroll で、かつ上記2つのメソッド実装時に有効となって表示されるらしい。なので、上記2つのデリゲートメソッドを実装しなければ、UIPageControl のドットによるページ案内表示が表示されなくなる。
なお、UIPageViewController による画面ページ移動については、以下のデリゲートメソッドを実装しておけば、問題なく動作します。
1 2 3 4 5 6 7 |
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { // ... } func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { // ... } |
- – 参考リンク –
- ios – Hide dots from UIPageViewController – Stack Overflow
- UIPageViewControllerの画面下部に表示されているPageControlを隠す – iOSアプリ開発の逆引き辞典
- 【Objective-C】UIPageViewControllerでUIPageControlが表示されない | AS blind side
スポンサーリンク
Swift は次に習得したい言語No1です!
<< 前の記事 : Swiftのバージョン確認・REPL実行
- Swift & iOS の関連記事
- WKWebView/UIWebViewでウェブページが真っ白
- Unityのインストールと初期設定
- WKWebView/UIWebViewでNavigation Barの下にウェブページが隠れるのを回避
- SwiftでArray(配列)などをシャッフル
- Navigation Controllerで画面遷移させるSwiftコード
- Swiftでタップ/スワイプのイベント処理実装・UITapGestureRecognizerとUISwipeGestureRecognizer
- Swiftのバージョン確認・REPL実行
- Xcode7.0アップデートで遭遇した課題2つ
- 正規のXcodeかどうかチェック(XcodeGhostマルウェア騒動)
- WKWebViewでtarget=”_blank”のリンクを開く(Swift)
Leave Your Message!