Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.71 KB | None | 0 0
  1. import UIKit
  2.  
  3. class ViewController: UIViewController {
  4.    
  5.     @IBOutlet weak var scrollView: UIScrollView!
  6.    
  7.     @IBOutlet weak var pageControll: UIPageControl!
  8.     var imageViews = [UIImageView]()
  9.  
  10.     override func viewDidLoad() {
  11.        
  12.         super.viewDidLoad()
  13.         scrollView.delegate = self
  14.         pageControll.currentPage = 0
  15.         let imagesNames = ["1","2","3"]
  16.         pageControll.numberOfPages = imagesNames.count
  17.        
  18.         for name in imagesNames  {
  19.             let image = UIImage(named: name)
  20.             let imageView = UIImageView(image: image)
  21.             imageView.contentMode = .scaleAspectFit
  22.             scrollView.addSubview(imageView)
  23.             imageViews.append(imageView)        
  24.  
  25.            
  26.         }
  27.     }
  28.    
  29.     override func viewDidLayoutSubviews() {
  30.         super.viewDidLayoutSubviews()
  31.        
  32.         for (index, imageView) in imageViews.enumerated() {
  33.             imageView.frame.size = scrollView.frame.size
  34.             imageView.frame.origin.x = scrollView.frame.width * CGFloat(index)
  35.             imageView.frame.origin.y = 0
  36.         }
  37.        
  38.         let contentWidth = scrollView.frame.width * CGFloat(imageViews.count)
  39.         scrollView.contentSize = CGSize(width: contentWidth, height: scrollView.frame.height)
  40.  
  41.     }
  42.  
  43.    
  44.  
  45.    
  46.        
  47.         // Do any additional setup after loading the view.
  48.     }
  49.  
  50.  
  51. extension ViewController: UIScrollViewDelegate {
  52.     func scrollViewDidScroll(_ scrollView: UIScrollView) {
  53.         let pageIndex = (scrollView.contentOffset.x / scrollView.frame.width)
  54.         let roundedPageIndex = Int(pageIndex.rounded())
  55.         pageControll.currentPage = roundedPageIndex
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement