Swift中如何进行相机和相册的调用
在Swift中,可以使用UIImagePickerController类来调用相机和相册。以下是一个简单的示例代码,演示了如何调用相机和相册:
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func takePhoto(_ sender: UIButton) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .camera
present(imagePicker, animated: true, completion: nil)
}
@IBAction func choosePhoto(_ sender: UIButton) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
present(imagePicker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
// 在此处处理选择的照片
}
dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
}
在这个示例中,我们创建了一个ViewController类,并实现了UIImagePickerControllerDelegate和UINavigationControllerDelegate协议。我们在takePhoto和choosePhoto方法中分别调用相机和相册。在imagePickerController和imagePickerControllerDidCancel方法中,我们处理选取照片和取消选取照片的逻辑。