如何在CollectionView中选择单元格图像然后转到ViewController

时间:2016-07-27 02:04:23

标签: swift segue viewcontroller collectionview

我查了很多例子并尝试合并,但都没有成功。在我的CollectionView(已放置在ViewController中)中,我想选择一个单元格并将单元格图像推送到另一个ViewController。对图像的引用已放置在plist文件中的字典数组中。我不确定,我应该如何编辑我的prepareForSegue或我的func collectionView ... didSelectItemAtIndexPath。此外,任何与您的代码一起使用的详细说明都会有所帮助,因为我还在学习swift及其语法。

以下是我认为您需要的所有信息,但如果您需要更多信息,请告诉我们:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "ShowToStory") {
    var story = sender as! UICollectionViewCell, indexPath = collectionView.indexPathForCell(story)

}
}

private func initStoryImages() {

var storyArchives = [StoryImages]()
let inputFile = NSBundle.mainBundle().pathForResource("StoryArchive", ofType: "plist")

let inputDataArray = NSArray(contentsOfFile: inputFile!)

for inputItem in inputDataArray as! [Dictionary<String, String>] {

    let storyImage = StoryImages(dataDictionary: inputItem)
    storyArchives.append(storyImage)       
}
  storyImages = storyArchives
}

ADDITIONAL CLASS:CollectionViewCell类

class CollectionViewCell: UICollectionViewCell {
@IBOutlet weak var cellImage: UIImageView!

func setStoryImage(item:StoryImages){
cellImage.image = UIImage(named:item.itemImage)
}
}

ADDITIONAL CLASS:UIViewController(Edit_1)

class StoryView: UIViewController{
@IBOutlet weak var ImageToStory: UIImageView!

var story: Story?

override func viewWillAppear(animated: Bool) {
if let story = story {
ImageToStory.image = UIImage(named: story.imageName)
}
}
}

1 个答案:

答案 0 :(得分:1)

你的故事视图应该有故事形象的公共制定者。然后,您可以使用prepareForSegue方法传递数据。如果您仍然有问题,请考虑在iTunes U上观看斯坦福大学iOS编程讲座中的一些视频,这是免费的,这个主题在那里被广泛报道。