İçeriğe geç

UIScrollView kullanımı

Merhabalar bu yazımda İOS companentlerinden olan UIScrollView nesnesini nasıl kullanırız buna örnek vereceğim.

UIScrollView sınıfını kullanarak güzel ve efektiv işlemler yapabiliyoruz. Örnek vermek gerekirse içerisine farklı nesneler ekleyip kaydırma işlemleriyle sayfa görünümleri oluşturabilir hatta içine view nesneleri ekleyerek sayfaları yan yana dizip ilerletebiliriz.(Tutorial sayfaları gibi)

Aşağıda yazdığım örnekte buna benzer bir şekilde hazırladım. Örnekte elimde bulunan üç adet resmi dinamik olarak UIScrollView içerisine ekleyerek kaydırarak gösterme işlemi yapıyoruz.

Örneği inceleyebilirsiniz.

import UIKit

class testVC: UIViewController,UIScrollViewDelegate {
   
    var imageView:UIImageView!
    var scrollView:UIScrollView!
    var imgArray:[String] = ["0.jpg","1.jpg","2.jpg"]
    var pageC:Int!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        scrollView = UIScrollView()
        scrollView.translatesAutoresizingMaskIntoConstraints = false
        scrollView.backgroundColor = UIColor.lightGray.withAlphaComponent(0.3)
        scrollView.isPagingEnabled = true
        scrollView.delegate = self
        view.addSubview(scrollView)
        
        scrollView.widthAnchor.constraint(equalToConstant: self.view.frame.width).isActive = true
        scrollView.heightAnchor.constraint(equalToConstant: 300).isActive = true
        scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
        
        scrollView.contentSize = CGSize(width: self.view.bounds.width * CGFloat(imgArray.count), height: 300)
        
        imageView = UIImageView()
        imageView.frame = CGRect(origin: CGPoint.zero, size: CGSize(width: view.frame.size.width, height: 300))
        imageView.contentMode = .scaleAspectFill
        imageView.backgroundColor = UIColor.black

        scrollView.addSubview(imageView)       
        
        imageView.image = UIImage(named: "0.jpg")

    }
    
    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        
        pageC = Int(ceil(scrollView.contentOffset.x / view.bounds.size.width))
        
        if pageC <= 2 {
        
            imageView.image = UIImage(named: imgArray[pageC])
            imageView.alpha = 0
            imageView.frame.size.width = view.bounds.size.width
            imageView.frame.origin.x = imageView.frame.size.width * CGFloat(pageC)
            
           UIView.animate(withDuration: 0.5, animations: { 
              self.imageView.alpha = 1

           })
            
        }
        
    }
    
 
}//

 

Tarih:iOS

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca