简体   繁体   English

使用Swift 2.0将Tableview单元格图像转移到另一个视图

[英]Transfer Tableview cell image to another view using swift 2.0

how to transfer tableview cell image to detail view for example i want to display the cell image in another view controller when ever user will click on cell 如何将tableview单元格图像传输到详细视图,例如,当用户单击单元格时,我想在另一个视图控制器中显示该单元格图像

I have searched but not got the prefect answer... 我已经搜索过但没有得到完美的答案...

thank you.. 谢谢..

here is my code 这是我的代码

Source viewController 源viewController

var tweakImage: UIImage! //here I have stored the cell Image
override func prepareForSegue….{

detailVC.tweakDetailImage = tweakImage // here i am sending it to another view

}

Destination view controller 目标视图控制器

@IBOutlet weak var tweakImageView: UIImageView! // image view in destination view controller where i have to set the image

view didLoad{
tweakImageView.image = tweakDetailImage
}

Here is how you can do it in prepareForSegue method 这是您可以在prepareForSegue方法中进行的操作

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var row = tblViewTest.indexPathForSelectedRow()?.row
        //Fetch object/value for the row selected from array or dictionary
        // let say "objectAtIndex"

        var newViewController = segue.destinationViewController
        newViewController.objectSelected = objectAtIndex
    }

Make sure to make an object with name objectSelected in second view controller 确保在第二个视图控制器objectSelected对象名称为objectSelected

        if segue.identifier == "ImageScene" {

            var row = tblViewTest.indexPathForSelectedRow()?.row
            var imageName: String = "\(row!).jpg"   //Unwrapping forcefully
            var newViewController = segue.destinationViewController as! ImageViewController
            newViewController.imageSelected = UIImage(named: imageName)
        }

Unwrapping is done forcefully for imageName as I am sure that row would have a value as I have performed the segue on UITableView's didSelectRowAtIndex method, now I can successfully see the image on my second view controller 强制对imageName进行解包,因为我确定该行将具有值,因为我已经在UITableView的didSelectRowAtIndex方法上执行了segue,现在我可以在第二个视图控制器上成功看到该图像了

You need to pass your datasource object to your detailController. 您需要将数据源对象传递给detailController。 There must be some data source using which you are setting image on cell. 必须有一些数据源,您可以使用这些数据源在单元格上设置图像。 Pass it to your detail controller instance when didSelectRowAtIndexPath is being tapped. 轻按didSelectRowAtIndexPath时,将其传递到详细信息控制器实例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM