2015-07-15 2 views
0

У меня есть несколько изображений, и я открываю их в CollectionView, как альбом, пользователь может прокручивать влево и вправо и может зажимать зум. Я использую scrollview внутри ячейки и изображение внутри scrollviewНевозможно ограничить область панорамирования Scrollview внутри CollectionViewCell

Моя проблема в том, что я зажимаю масштабирование масштабирования изображения, но после этого, когда я перемещаюсь по изображению, он слишком сильно увеличивается и уменьшается, я хочу ограничить навигацию на картинке, но я не мог этого сделать, все пробовал, много искал, но не мог этого сделать, поэтому я хотел спросить вас.

Вы можете увидеть изображение ниже и понять, что я имею в виду лучше.

http://s8.postimg.org/oypni96id/image.png

Вот мой код

import UIKit 

class SlideViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UIScrollViewDelegate { 
    @IBOutlet weak var collectionView: UICollectionView! 
    var images = ["image1.jpg" , "image2.jpg" , "image3.jpg" , "image1.jpg" , "image2.jpg" , "image3.jpg" , "image1.jpg" , "image2.jpg" , "image3.jpg" , "image1.jpg"] 
    var flowLayout:UICollectionViewFlowLayout = UICollectionViewFlowLayout() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
       // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

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

     var scrollView:UIScrollView = cell.viewWithTag(1) as! UIScrollView 
     var image:UIImageView = scrollView.viewWithTag(2) as! UIImageView 
     self.flowLayout.minimumLineSpacing = 0.0 
     self.flowLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal 
     self.collectionView.setCollectionViewLayout(self.flowLayout, animated: true) 
     image.image = UIImage(named: images[indexPath.row]) 

     return cell 
    } 

    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return 10 
    } 

    func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { 
     return 1 
    } 

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
     let frame = view.frame 

     return CGSizeMake(frame.width, frame.height) 
    } 

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 
     var image:UIImageView = scrollView.viewWithTag(2) as! UIImageView 

     return image 
    } 

    func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) { 
     var scrollView:UIScrollView = cell.contentView.viewWithTag(1) as! UIScrollView 
     scrollView.zoomScale = 1.0 
    } 
} 

ответ

0

Проблема может быть закрыт, я использовал MWPhotoBrowser галереи вместо решения этой проблемы. В любом случае, спасибо;)

Смежные вопросы