Sponsored Link
どうも、3urpriseのヤマサキです。
今日はStoryBoardのUIScrollView(オートレイアウト)がちょっとわかんないんで、もうコードで書いてやりました。
Now To-Doのチュートリアル画面のコードをそのまんま公開するって楽をしてみます。
デハ、ご覧あれ!
class TutorialViewController: UIViewController,UIScrollViewDelegate { var _pageControl: UIPageControl! var _scrollView: UIScrollView! var _displaySize:CGRect = UIScreen.mainScreen().bounds // デバイスのサイズ取得 var _devPageValu:Float = Float() var _devViewValue:Float = Float() var _devViewValue2:Float = Float() @IBOutlet weak var _barButton: UIBarButtonItem! override func viewDidLoad() { super.viewDidLoad() // デバイス毎のサイズを変数で取得する為のfunc self.disp() // ビューの縦、横のサイズを取得する. let width = self.view.frame.maxX, height = self.view.frame.maxY // ScrollViewを取得する. _scrollView = UIScrollView(frame: self.view.frame) // ページ数を定義する. let pageSize = 4 // 縦方向と、横方向のスクロール状態のバーの表示・非表示 _scrollView.showsHorizontalScrollIndicator = false _scrollView.showsVerticalScrollIndicator = false // ページングを許可する. _scrollView.pagingEnabled = true // ScrollViewのデリゲートを設定する. _scrollView.delegate = self // スクロールの画面サイズを指定する. _scrollView.contentSize = CGSizeMake(CGFloat(pageSize) * width, 0) // ScrollViewをViewに追加する. self.view.addSubview(_scrollView) // ページ数分ボタンを生成する. for var i = 0; i < pageSize; i++ { var imageArray = ["nowtodo_tutorial001.png","nowtodo_tutorial002.png","nowtodo_tutorial003.png","nowtodo_tutorial004.png"] var image:UIImage? = UIImage(named:imageArray[i])! var imageView:UIImageView = UIImageView(image:image) imageView.frame = CGRectMake(CGFloat(i) * width + width/10 - CGFloat(_devViewValue), height/100 - CGFloat(_devViewValue2), width, height) imageView.contentMode = UIViewContentMode.ScaleAspectFit _scrollView.addSubview(imageView) } // PageControlを作成する. _pageControl = UIPageControl(frame: CGRectMake(0, self.view.frame.maxY - CGFloat(_devPageValu), width, 50)) // PageControlするページ数を設定する. _pageControl.numberOfPages = pageSize // 現在ページを設定する. _pageControl.currentPage = 0 _pageControl.userInteractionEnabled = false // pageControlカラー // 全体の点の色 _pageControl.pageIndicatorTintColor = UIColor.hexStr("E03F4E", alpha: 1.0) // 現在の点の色 _pageControl.currentPageIndicatorTintColor = UIColor.whiteColor() self.view.addSubview(_pageControl) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } // スクロールした時 func scrollViewDidEndDecelerating(scrollView: UIScrollView) { // スクロール数が1ページ分になったら時. if fmod(scrollView.contentOffset.x, scrollView.frame.maxX) == 0 { // ページの場所を切り替える. _pageControl.currentPage = Int(scrollView.contentOffset.x / scrollView.frame.maxX) } } // func disp() { // デバイスの高さ取得 var _devicesHeight = _displaySize.height if _devicesHeight == 568.0 { // iPhone5,5sの設定 _devViewValue = 32.0 _devViewValue2 = 40.0 _devPageValu = 50.0 } else if _devicesHeight == 667 { // iPhone6の設定 _devViewValue = 38.0 _devViewValue2 = 40.0 _devPageValu = 50.0 } else { // iPhone6 Plus _devViewValue = 42.0 _devViewValue2 = 44.0 _devPageValu = 60.0 } } }
Sponsored Link
ツイート
SwiftにてUIScrollViewとUIPageCotorollをコードでベタ書き!全コピで使えるよ!の巻