swift
1import UIKit 2class ViewController: UIViewController, UIScrollViewDelegate { 3 private var pageControl: UIPageControl! 4 private var scrollView: UIScrollView! 5 override func viewDidLayoutSubviews() { 6 super.viewDidLayoutSubviews() 7 8 } 9 override func viewDidLoad() { 10 11 // ビューの縦、横のサイズを取得する. 12 let width = view.frame.maxX, height = view.frame.maxY 13 14 scrollView = UIScrollView(frame: self.view.frame) 15 let data = ["https://pbs.twimg.com/media/CrZ--QmWgAA-ts0.jpg", "https://taishon.nagoya/wp-content/uploads/2017/01/https.png"] 16 let pageSize = data.count 17 scrollView.showsHorizontalScrollIndicator = false 18 scrollView.showsVerticalScrollIndicator = false 19 scrollView.isPagingEnabled = true 20 21 // ScrollViewのデリゲートを設定する. 22 scrollView.delegate = self 23 24 // スクロールの画面サイズを指定する. 25 26 scrollView.contentSize = CGSize(width: CGFloat(pageSize) * width, height: 0) 27 view.addSubview(scrollView) 28 29 // ページ数分ボタンを生成する. 30 for i in 0 ..< pageSize { 31 let foo = UIImageView(frame: view.bounds) 32 let url = URL(string:data[i]) 33 let req = URLRequest(url:url!) 34 NSURLConnection.sendAsynchronousRequest(req, queue:.main){(res, data, err) in 35 if err == nil { 36 foo.image = UIImage(data:data!) 37 self.scrollView.addSubview(foo) 38 } 39 } 40 } 41 42 // PageControlを作成する. 43 pageControl = UIPageControl(frame: CGRect(x:0, y:self.view.frame.maxY - 100, width:width, height:50)) 44 pageControl.backgroundColor = UIColor.orange 45 46 // PageControlするページ数を設定する. 47 pageControl.numberOfPages = pageSize 48 49 // 現在ページを設定する. 50 pageControl.currentPage = 0 51 pageControl.isUserInteractionEnabled = false 52 53 self.view.addSubview(pageControl) 54 } 55 56 57 func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 58 59 // スクロール数が1ページ分になったら時. 60 if fmod(scrollView.contentOffset.x, scrollView.frame.maxX) == 0 { 61 // ページの場所を切り替える. 62 pageControl.currentPage = Int(scrollView.contentOffset.x / scrollView.frame.maxX) 63 } 64 } 65}
このようにscrollviewにpagecontrolで2つの画像を表示するものを作ったのですが一軒しか表示されません
なぜなのでしょうか?
あなたの回答
tips
プレビュー