2016-12-30 1 views
0

新しいビューを展開クリックし、I ImageViewとラベルが少ないセルを含むコレクションビュー があります。CollectionViewセルは、私が最初のViewControllerで最初のタブにTabBarViewControllerだけでなく、4つのタブ(ストーリーボード上の4つの異なるViewControllers)</p> <p>を持ってデモアプリケーションを作成しようとしてい

私がしようとしているのは、セルをクリックすると、画面全体に展開され、ビューはまだタブバーの最初のタブにとどまります。 今度はViewController選択されたCellの拡大ビューである新しいビューに変更され、コレクションビューを下にスクロールすると、別のセルをクリックして拡大するなどしていつでも押すことができますビューに展開された最後のセルが表示されます

私は何をしようとしているかについて十分に明確であることを望みます。今病気私はすでに

import UIKit 

class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { 


    var imagesArray = [] 

    var imageSizes = [CGSize]() 

    var labelsArray = [""] 

    var descArray = [""] 



    @IBOutlet weak var collectionView: UICollectionView! 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.collectionView.delegate = self 
     self.collectionView.dataSource = self 

     for i in 0..<imagesArray.count { 

      let currImg = imagesArray[i] 
      let currHeight = currImg.size.height 
      let currSize = CGSize(width: 150, height: currHeight + 125) 
      imageSizes.append(currSize) 
     } 



     } 





    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return imagesArray.count 
    } 

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionVCe 

     cell.cellImg.image = imagesArray[indexPath.row] 
     cell.descLabel.text = descArray[1] 
     cell.itemLabel.text = labelsArray[0] 


      cell.cellImg.contentMode = .scaleAspectFill 
     cell.layer.cornerRadius = 9 

     cell.backgroundColor = UIColor.red 
     cell.cellImg.backgroundColor = UIColor.blue 




     return cell 
    } 

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 
     return imageSizes[indexPath.row] 
    } 

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { 
     return UIEdgeInsetsMake(0, 25, 0, 25) 
    } 

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { 
     return 10 

    } 

    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
     if let cell = collectionView.cellForItem(at: indexPath) { 
      cell.frame = collectionView.frame 

     } 
    } 



override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
     } 


} 

答えて

0

あなたはコレクションビューをリロード有し、また

+0

コレクションビューのサイズデリゲートを呼び出す持っているもののコードを追加し、スタックオーバーフローへようこそ!あなたの答えを示すコードを追加してください。 –

関連する問題