在 Swift 中按“使用照片”后如何进入下一个屏幕?
Posted
技术标签:
【中文标题】在 Swift 中按“使用照片”后如何进入下一个屏幕?【英文标题】:How do I go to the next screen after pressing "Use Photo" in Swift? 【发布时间】:2020-09-29 05:38:12 【问题描述】:我目前正在用 Swift 为 iPhone 创建一个简单的应用程序。当我按下“拍照”按钮时,相机会打开,所以我可以拍照。然后,当我按下“使用照片”时,它会停留在带有“拍照”按钮的第一个屏幕上。按“使用照片”后如何让应用显示下一个屏幕/故事板?
【问题讨论】:
你需要关闭图像选择器 【参考方案1】:在您的主屏幕上有两个按钮...
1. Take Photo
2. Use Photo
所以当你点击拍照时,它会打开相机,你就可以拍照了。
现在,当您在主屏幕上时,当您按Use Photo
按钮时,它不会正确转到图像库。
因此,从这个场景开始,我将为您提供使用照片的解决方案。
解决方案:请通过这个,这里我在按钮点击时使用图像选择器。它将允许您选择/选择图像并将您选择的图像分配给UIImageView
。
import UIKit
class ViewController: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate
@IBOutlet weak var imageView: UIImageView!
@IBAction func btnUsePhoto(_ sender: Any)
let imagePicker = UIImagePickerController()
if UIImagePickerController .isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary)
imagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
self .present(imagePicker, animated: true , completion: nil)
override func viewDidLoad()
super.viewDidLoad()
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
if let pickerImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
self.imageView.contentMode = .scaleAspectFit
self.imageView.image = pickerImage
dismiss(animated: true)
希望能解决你的问题。
【讨论】:
【参考方案2】:可能你的答案就在这里:
ImagePickerManager
这是一种用于拍摄图像的复制粘贴解决方案。我只是做了一些小改动。
拍摄风景时不要忘记设置图片的正确方向:
Normalize Pictures taken by camera
【讨论】:
以上是关于在 Swift 中按“使用照片”后如何进入下一个屏幕?的主要内容,如果未能解决你的问题,请参考以下文章
Swift:在警报视图中按下按钮后,tableView 不会重新加载数据
在swift5中按下特定按钮时如何使用代码呈现tabBarViewController(在情节提要中创建)?