寻找另一张imageview for fullsize Image

时间:2015-08-08 14:04:54

标签: swift segue

我有一个photoview控制器,可以在表格视图中显示图像。我正在寻找帮助来完成一个fullsizeimageview imageview控制器。我无法弄清楚如何做到这一点。

'A'

我新创建的全尺寸图像控制器是这样的,带有segue标识符“fullsizeimageview”

"ABC"

1 个答案:

答案 0 :(得分:1)

首先,您应该将TapGesture添加到imgView

您的cellForRowIndexPath现在将如下:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("tableViewCell") as! UITableViewCell

        if let file:PFFile = (self.arrSubCatData.objectAtIndex(indexPath.row).valueForKey("image") as? PFFile) {
            file.getDataInBackgroundWithBlock {
                (imageData: NSData?, error: NSError?) -> Void in
                if error == nil {
                    if let imageData = imageData {
                        var imgView : UIImageView = cell.contentView.viewWithTag(100) as! UIImageView
                      //Add Tap Gesture to the imgView
                        imgView.userInteractionEnabled = true;
                        let tapRecognizer = UITapGestureRecognizer(target: self, action: Selector("imageTapped"))
                        imgView.addGestureRecognizer(tapRecognizer)
                        imgView.image = UIImage(data:imageData)
                    }
                }
            }
        }
        return cell
    }

现在为imageTapped

编写处理程序
 //When image is tapped
    func imageTapped()
    {
        println("image tapped")
        self.performSegueWithIdentifier("fullsizeimageview", sender: self)
    }

prepareForSegue将如下所示:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if(segue.identifier == "fullsizeimageview")
        {
            let destVC = (segue.destinationViewController as? PhotoFullSizeController)!
            let indexPath = self.tblPhotos.indexPathForSelectedRow() //IndexPath for selected table row
            if let file:PFFile = (self.arrSubCatData.objectAtIndex(indexPath!.row).valueForKey("image") as? PFFile) {
             destVC.imageFile = file

             }
        }
}

PhotoFullSizeController控制器中

class PhotoFullSizeController: UIViewController {

    @IBOutlet weak var fullImageView: UIImageView!
    var imageFile: PFFile!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Load image

        self.imageFile.getDataInBackgroundWithBlock {
            (imageData: NSData?, error: NSError?) -> Void in
            if error == nil {
                if let imageData = imageData {
                   //Set image in imageview
                    fullImageView.image = UIImage(data:imageData)
                }
            }
        }

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

如果有任何问题,请告诉我。希望这会有所帮助!