如何使用 iOS 应用捕获图像

2025年3月17日 | 阅读 3 分钟

我们可以使用AVFoundation在iOS应用中拍照,这是iOS中的一个框架。但是,在本教程中,我们将使用UIImagePickerControllerDelegate方法。在这里,我们将构建一个简单的应用程序,该应用程序将使用设备相机拍照并将其设置为图像视图。在本教程中,我们将不使用AVFoundation。取而代之的是,我们将使用UIImagePickerController。

图像选取器控制器主要用于管理用户交互并将交互结果传递给委托对象。图像选取器控制器的作用和外观取决于我们在呈现它之前为其分配的*源类型*。

在XCode中创建一个项目,并在Storyboard中将ImageView添加到ViewController。

How to capture the image using the iOS app

现在,在ViewController类中创建出口。我们需要确保我们的ViewController类符合UIImagePickerControllerDelegate和UINavigationControllerDelegate协议。

一旦我们将view controller符合上述协议,就创建一个@objc类型的函数openCam(),其中将包含打开相机的业务代码。openCam()的声明如下所示。

在ViewController中,在viewDidLoad()内部创建一个TapGestureRecognizer,以便一旦我们点击ViewController,相机就应该打开。

现在,我们将定义openCamera函数,其中将包含UIImagePickerController的实例。我们需要定义属性,例如,并呈现一个。

完成上述步骤后,我们需要实现UIImagePickerControllerDelegate的didFinishPickingMediaWithInfo方法。我们将在该方法内部获取用户捕获的图像,该图像可以设置为我们在第1步中创建的图像出口。

我们需要在info.plist中添加camera usage description key,并描述我们的应用程序为什么要使用相机。将以下代码添加到info.plist文件。

我们需要在实际的iOS设备上运行此应用程序,因为我们无法运行相同的iOS模拟器。

应用程序代码如下所示。