2016-08-26 23 views
6

CustomCollectionViewLayout ile kodları çalışıyorum ve içinde a lot of small cells var ama kullanıcı zoom olmadan göremiyorum. Ayrıca tüm hücreler seçilebilir.Yakınlaştırmak UICollectionView

ben yakınlaştırma özelliği içinde benim toplama görünümü eklemek istediğiniz

!

aşağıda altında My net kodları.

class CustomCollectionViewController: UICollectionViewController { 

    var items = [Item]() 


    override func viewDidLoad() { 
     super.viewDidLoad() 


     customCollectionViewLayout.delegate = self 

     getDataFromServer() 

} 

func getDataFromServer() { 

     HttpManager.getRequest(url, parameter: .None) { [weak self] (responseData, errorMessage) ->() in 

      guard let strongSelf = self else { return } 

      guard let responseData = responseData else { 
       print("Get request error \(errorMessage)") 
       return 
      } 

      guard let customCollectionViewLayout = strongSelf.collectionView?.collectionViewLayout as? CustomCollectionViewLayout else { return } 

      strongSelf.items = responseData 
      customCollectionViewLayout.dataSourceDidUpdate = true 

      NSOperationQueue.mainQueue().addOperationWithBlock({() -> Void in 
       strongSelf.collectionView!.reloadData() 
      }) 
     } 
    } 
} 

extension CustomCollectionViewController { 

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { 
     return items.count 
    } 

    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return items[section].services.count + 1 
    } 

    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! CustomCollectionViewCell 


      cell.label.text = items[indexPath.section].base 


     return cell 

} 

    override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath cellForItemAtIndexPath: NSIndexPath) { 

    print(items[cellForItemAtIndexPath.section].base) 


} 

} 

Ayrıca Görebildiğimizi aşağıda altında benim UICollectionView düzen özellikleri i maxZoom 4 seçilen ancak doesnt herhangi bir işlem var!

enter image description here

teşekkür ederiz! Basit bir kaydırma görünümünü Büyütmek ediyorum gibi

+0

Bu soru faydalı olabilir: [Make collectionview yakınlaştırılabilir] (http://stackoverflow.com/questions/13485617/make-uicollectionview-zoomable) – jojoT

+0

@jojoT ty ama bu örnek obj-c ve tutam yakınlaştırma her öğe hızlı ve alan zoom istiyorum her öğe basit zoom – SwiftDeveloper

+0

kullanıcı toplama görünümü dokunur, sonra hücre zoom olsun? Demek istediğin, Dokunmadan sonra, tüm koleksiyon görünümü bulanıklaşır ve hücreye dokundu, yalnızca ekranın merkezi görülebilir genişlikte ve yükseklikte görüntülendi mi? –

cevap

1

Bir koleksiyon Büyütmek yoktur. Bunun yerine bir tutam jest (veya başka bir yakınlaştırma mekanizması) eklemeli ve düzeni değiştirmek için onu kullanmalısınız, böylece kılavuzunuz koleksiyonun görünür kısmında farklı sayıda öğe görüntüler. Bu temelde sütun sayısını ve dolayısıyla öğe boyutunu (hücre boyutu) değiştiriyor. Düzeni güncelleştirdiğinizde, koleksiyon farklı boyutlar arasında canlandırılabilir, ancak düzgün bir zum yapmak istemiyorsanız, bir adımda N sütunlarından N-1 sütunlarına doğrudan geçmesini istersiniz.

+0

teşekkür ederim ama biliyorum. İçeriye tıkladığınızda, yakınlaştırıldığında UICollectionView'umu basit ZOOM içine entegre etmek istiyorum. Ve bu kodlara ihtiyacım yok fikirlere ihtiyacım var :) – SwiftDeveloper

1

Sana Gelişmiş Toplama Görüntüleme ve Yapı Özel Düzenleri (demo 20:20 başlar) https://www.youtube.com/watch?v=8vB2TMS2uhE

Temelde size pinchGesture eklemek zorunda başlıklı WWDC1012 videoda yapılır ne gibi görünüyor için soruyorsun ne düşünüyorsunuz UICollectionView ardından (UICollectionViewFlowLayout bir alt sınıfıdır) UICollectionViewLayout için tutam özelliklerini (ölçek, ortada) geçmesi, sizin düzen ardından istenen hücre üzerinde yakınlaştırmak için gerekli dönüşümleri gerçekleştirecek.

+0

Daha önce izledim ama sorumu düzeltemedim – SwiftDeveloper