在iOS开发中,UIImagePickerController
是一个用于选择图片的视图控制器。当用户选择了一张图片后,UIImagePickerController
会通过 didFinishPickingImage
方法将选中的图片传递给其委托对象。
在这个问题中,我们需要将选中的图片从 UIImagePickerController
传递到另一个视图控制器。为了实现这个功能,我们可以使用以下步骤:
ImageViewController
,并在其中添加一个 UIImageView
用于显示图片。UIImagePickerController
的委托方法 didFinishPickingImage
中,将选中的图片传递给 ImageViewController
。ImageViewController
中,将传递过来的图片显示在 UIImageView
上。以下是一个简单的示例代码:
import UIKit
class ImageViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
var image: UIImage?
override func viewDidLoad() {
super.viewDidLoad()
if let image = image {
imageView.image = image
}
}
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
if let image = info[.originalImage] as? UIImage {
let imageViewController = ImageViewController()
imageViewController.image = image
navigationController?.pushViewController(imageViewController, animated: true)
}
picker.dismiss(animated: true, completion: nil)
}
}
在这个示例中,我们首先创建了一个 ImageViewController
类,并在其中添加了一个 UIImageView
。然后,在 UIImagePickerController
的委托方法 didFinishPickingMediaWithInfo
中,我们将选中的图片传递给 ImageViewController
,并将其压入导航控制器中。最后,在 ImageViewController
的 viewDidLoad
方法中,我们将传递过来的图片显示在 UIImageView
上。
需要注意的是,为了使用 UIImagePickerController
,我们需要在项目中导入 MobileCoreServices
框架,并在 Info.plist
文件中添加适当的权限设置。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云