swift3.x
[swift 3.0] UIPageControl 非表示にする方法
[環境]
Xcode:8.2.1
Swift:3.0.2
iOS:10.2
swiftで
・画像の枚数に応じてUIScrollViewを利用し、スクロール
・UIPageControlで画像枚数を取得、現在表示されている画像をハイライト
というパターンを実装したい事が結構あります。実装されているアプリも多いですね。
スクロールの取得は、UITableViewだった場合はUITableView側でもスクロールはデフォルトで検知されるので、
1 2 3 4 5 6 |
override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { if (scrollView.tag == 1) { print("ScrollViewの、scrollViewDidEndDeceleratingが呼ばれた") ScrollViewPageControl.currentPage = Int(profileScrollView.contentOffset.x / profileScrollView.frame.maxX) } } |
みたいな形で
1 |
scrollView.tag == 1 |
を条件とすると楽だと思います。
tag == 1は、ストーリーボードから設定します。
さて、プロパティがあると知っていれば楽にできる
UIPageControlを非表示にする方法です。
1 |
ScrollViewPageControl.hidesForSinglePage = true |
これだけです。
hidesForsinglePageをtrueにする事でシングルページ(1枚しか画像がない)の場合、UIPageControlが非表示になります。
お役に立てば幸いです!
村本訓一
http://kunikazumuramoto.com株式会社lord代表。WEBデザイナー⇒ディレクター⇒プロデューサーです。2010年から起業しています。社会に出てからずっとWEB屋です。 新しいネットサービス、デバイス、コミック、本、映画好きです。最近は急にプログラマーっぽい事もやってます。