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

Posted

技术标签:

【中文标题】如何在 CollectionView 中选择单元格图像然后转到 ViewController【英文标题】:How to select cell image in CollectionView then segue to ViewController 【发布时间】:2016-07-27 02:04:22 【问题描述】:

我查找了许多示例并尝试合并,但均未成功。在我的 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

附加类:CollectionViewCell 类

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

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


附加类: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】:

您的故事视图应该有故事图像的公共设置器。然后您可以使用prepareForSegue 方法来传递数据。如果您仍然有问题,请考虑在 iTunes U 上观看斯坦福大学 ios 编程讲座的一些视频,它是免费的,并且该主题在那里得到了广泛的介绍。

【讨论】:

感谢您的帮助。我必须对我的 collectionView didselect 函数做些什么吗?我肯定会查看 SU 讲座,但由于我使用的是 plist 文件,我有点担心这些说明不适合我的需要。 如果没有自动连接,你可以在那里触发segue。现在你有了 var Story,你可以从 plist 中提取故事,为 segue 做准备,然后将它传递给目标视图控制器,这在 iTunesU 课程中有介绍。如果您发现我的回答有帮助,请通过绿色勾号将其标记为已批准:) 谢谢,我查了 iTunes 课程,它说我需要对象 c 的先验知识,但我没有 :) 这会阻止我理解吗? 没有。你应该掌握基础知识。也许以后会更难得到。

以上是关于如何在 CollectionView 中选择单元格图像然后转到 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

选择collectionView单元格时如何获取项目ID

如何根据用户选择在 CollectionView 标题下方显示不同的单元格?

如何更新在 Swift 4 之前和现在选择的 CollectionView 单元格?

为啥我无法在 collectionView 中选择单元格?

XCUITest:从具有多个单元格原型的多个单元格标识符中选择一个 CollectionView 单元格

iOS:如何断言在 UITest 中选择了一个单元格?