【问题标题】:How to pass images through segue into new view controller?如何通过 segue 将图像传递到新的视图控制器?
【发布时间】:2021-03-30 05:58:24
【问题描述】:

我正在尝试通过 segue 将图像传递到新的视图控制器。我能够将标题转移到视图控制器中,但我不断收到错误消息:“无法将'UIImage?.Type'类型的值转换为预期的参数类型'String'”。代码如下:

import UIKit

class DetailViewController: UIViewController {

   var name = ""
    var img: UIImage?
    
    @IBOutlet weak var detailCrystalNameLabel: UILabel!
    @IBOutlet weak var detailCrystalPhotoImageView: UIImageView!
    override func viewDidLoad() {
        super.viewDidLoad()
        
        title = name
        detailCrystalPhotoImageView.image = UIImage(named: img)

    }
}

这是来自视图控制器的代码:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MainCollectionViewCell", for: indexPath) as! MainCollectionViewCell
        cell.crystalPhotoImageView.image = imageArray[indexPath.row]
        
        
        return cell
    }
    
    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        let vc = storyboard?.instantiateViewController(identifier: "DetailViewController") as? DetailViewController
        
        vc?.name = nameArray[indexPath.row]
        vc?.img = imageArray[indexPath.row]
        
        self.navigationController?.pushViewController(vc!, animated: true)
    }
}

【问题讨论】:

    标签: ios swift iphone xcode


    【解决方案1】:

    问题出在这一行detailCrystalPhotoImageView.image = UIImage(named: img)。这里的参数named 是字符串类型。在这里,您正在传递 img ,其中 UIImage 类型。所以你可以解决这个问题

    detailCrystalPhotoImageView.image = img
    

    【讨论】:

      【解决方案2】:

      DetailViewController 中声明的img 变量的类型为UIImageUIImage(named: img) 方法需要图像的字符串名称,而不是图像对象本身。

      你必须像这样直接设置图像,

      detailCrystalPhotoImageView.image = img
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多