我已经有一段时间了,但似乎无法快速破解它
我希望用户能够在uicollectionView中选择一个图像,并且该图像显示在详细的视图控制器中,我可以通过一些文本很容易地做到这一点, 当预先加载静态图像数组时,我可以这样做。但我似乎无法在任何地方找到装有相机图像的集合视图。
我明白我需要使用
override func performSegueWithIdentifier(identifier: String, sender: AnyObject?) {
}
和此功能隔离选定的单元格。
func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
}
我确实有这些渠道 @IBOutlet weak var collectionView:UICollectionView!
var images = [UIImage]()
图像选择器通过
将所有图像存储到此阵列 images.insert(newImage, atIndex: 0)
当数组传递给detailviewcontroller时,我明白必须将其复制到另一个本地数组中,然后我将如何获得首先显示的当前图像,可能使用indexPath.Row
此致
答案 0 :(得分:1)
我没有使用segues,实际上我不太明白你的问题是什么,但我会试着告诉你如何实现它。
首先,你有一个带图像的数组,所以我相信你的图像应该作为图像访问[indexPath.row]
让我们假设您已经拥有UIVmageController类,其中包含UIImageView。 如果是这样,你可以这样写:
func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
let myVC = MyViewController()
myVC.imageView.image = images[indexPath.row]
self.presentViewController(myVC, animated: true, completion: nil)
}
表示模态或
func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
let myVC = MyViewController()
myVC.imageView.image = images[indexPath.row]
self.navigationController?.pushViewController(myVC, animated: true)
}
如果您想将其显示为导航。
我相信使用segues它基本上是相同的,但我认为你必须使用func prepareForSegue,你知道,准备segue(func performSegueWithIdentifier将执行它)。在prepareForSegue中,您应该检查您的segue的标识符
if segue.identifier == "myIdentifier" {
//your code here
}
如果此标识符正确,请将命令发送到myVC。