2015-03-19 2 views
3

Я установил CollectionView Контроллер и получил все, что работает очень хорошо и прямо.Swift: Внедрение представления коллекции без контроллера просмотра коллекции

class CollectionController: UICollectionViewController, UICollectionViewDelegateFlowLayout { 
    . 
    . 
    . 
    override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as CollectionViewCell 
     cell.myTitle.text = self.titles[indexPath.row] 
     let imgName = "pic\(indexPath.row).jpg" 
     cell.myImage.image = UIImage(named: imgName) 

     return cell 
    } 
} 
class CollectionViewCell: UICollectionViewCell { 
    @IBOutlet weak var myTitle: UILabel! 
    @IBOutlet weak var myImage: UIImageView! 
} 

Теперь я хотел бы сделать то же самое с только UICollectionView (неUICollectionViewController). Я реализовал свою коллекцию так же, но когда я запускаю свое приложение, никакие ячейки не отображаются.

class ViewController: UIViewController, UICollectionViewDelegateFlowLayout { 

    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. 
    } 
} 
class CollectionView: UICollectionView, UICollectionViewDelegateFlowLayout { 
    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as CollectionViewCell 
     cell.myTitle.text = self.titles[indexPath.row] 
     let imgName = "pic\(indexPath.row).jpg" 
     cell.myImage.image = UIImage(named: imgName) 

     return cell 
    } 
} 
class CollectionViewCell: UICollectionViewCell { 
    @IBOutlet weak var myTitle: UILabel! 
    @IBOutlet weak var myImage: UIImageView! 
} 

Мне нужно реализовать некоторые инициализации в моем ViewController ли? Я предполагаю, что я что-то второстепенное здесь :(

* Я работаю с раскадровкой, так что мои клетки и т.д. генерируется там, а не кода отсутствую.

ответ

4

Является ли ваш контроллер представления устанавливается в качестве делегата Представления коллекции и данных ? источник

вы можете сделать это с кодом, как collectionView.delegate = self или раскадровки путем управления проволочки между контроллером представления и представления коллекции

+0

thaaaanks, в этом была проблема :)) – MMachinegun

0

вы должны следовать этой ссылке:. http://adoptioncurve.net/archives/2012/09/a-simple-uicollectionview-tutorial/ идея заключается в том, что вам нужно зарегистрировать n ib (если используется xib для пользовательской ячейки) или пользовательская ячейка класса регистра и идентификатор ячейки

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