当前位置: 首页 > news >正文

做网站要通过网信办备案吗农八师建设兵团社保网站

做网站要通过网信办备案吗,农八师建设兵团社保网站,安阳论坛网,中国机械设备制造网在 SwiftUI 中实现拍照功能#xff0c;需要结合 UIViewControllerRepresentable 和 UIImagePickerController 来实现相机功能。下面是一个详细的示例#xff0c;展示如何使用 SwiftUI 来实现拍照功能#xff1a; 1. 创建一个 ImagePicker 组件 首先#xff0c;创建一个 U…在 SwiftUI 中实现拍照功能需要结合 UIViewControllerRepresentable 和 UIImagePickerController 来实现相机功能。下面是一个详细的示例展示如何使用 SwiftUI 来实现拍照功能 1. 创建一个 ImagePicker 组件 首先创建一个 UIViewControllerRepresentable 结构用于包装 UIImagePickerController。 import SwiftUI import UIKitstruct ImagePicker: UIViewControllerRepresentable {Binding var selectedImage: UIImage?Environment(\.presentationMode) var presentationModevar sourceType: UIImagePickerController.SourceType .cameraclass Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate {let parent: ImagePickerinit(parent: ImagePicker) {self.parent parent}func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {if let image info[.originalImage] as? UIImage {parent.selectedImage image}parent.presentationMode.wrappedValue.dismiss()}func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {parent.presentationMode.wrappedValue.dismiss()}}func makeCoordinator() - Coordinator {Coordinator(parent: self)}func makeUIViewController(context: Context) - UIImagePickerController {let picker UIImagePickerController()picker.delegate context.coordinatorpicker.sourceType sourceTypereturn picker}func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} }2. 使用 ImagePicker 组件 接下来在你的主视图中使用 ImagePicker 组件来实现拍照功能。 import SwiftUIstruct ContentView: View {State private var isImagePickerPresented falseState private var selectedImage: UIImage?var body: some View {VStack {if let selectedImage selectedImage {Image(uiImage: selectedImage).resizable().scaledToFit().frame(width: 300, height: 300)} else {Text(No Image Selected).frame(width: 300, height: 300).background(Color.gray)}Button(action: {isImagePickerPresented true}) {Text(Take Photo).padding().background(Color.blue).foregroundColor(.white).cornerRadius(10)}.padding()}.sheet(isPresented: $isImagePickerPresented) {ImagePicker(selectedImage: $selectedImage)}} }struct ContentView_Previews: PreviewProvider {static var previews: some View {ContentView()} }解释 ImagePicker 组件 UIViewControllerRepresentable 协议用来将 UIImagePickerController 引入 SwiftUI。makeUIViewController 和 updateUIViewController 方法创建和更新 UIImagePickerController。Coordinator 类作为 UIImagePickerController 的代理处理图片选择和取消操作。 ContentView 使用 State 属性包装变量 isImagePickerPresented 来控制 ImagePicker 的显示。使用 State 属性包装变量 selectedImage 来存储选取的图片。当点击 “Take Photo” 按钮时显示 ImagePicker。sheet 修饰符用于在 isImagePickerPresented 为 true 时呈现 ImagePicker。 通过这种方式你可以在 SwiftUI 应用中实现拍照功能。请注意拍照功能只能在真实设备上使用因为模拟器不支持摄像头。 在 iOS 应用中访问相机需要在 Info.plist 文件中添加 NSCameraUsageDescription 键以告知用户为什么需要访问相机。否则应用在尝试访问相机时会崩溃。 添加 NSCameraUsageDescription 到 Info.plist 打开你的 Xcode 项目。 在项目导航中找到并点击你的 Info.plist 文件。 在 Info.plist 中添加一个新的键值对 键NSCameraUsageDescription值解释你的应用需要使用相机的原因比如 “This app requires access to the camera to take photos.” 示例 keyNSCameraUsageDescription/key stringThis app requires access to the camera to take photos./string如果你使用 Xcode 的图形化界面可以按以下步骤操作 打开 Info.plist 文件。点击右键选择 “Add Row”。在新行的键列中输入 NSCameraUsageDescription。在值列中输入对用户的说明比如 “This app requires access to the camera to take photos.” 更新后的示例代码 完成上述步骤后你可以重新运行之前的代码 import SwiftUI import UIKitstruct ImagePicker: UIViewControllerRepresentable {Binding var selectedImage: UIImage?Environment(\.presentationMode) var presentationModevar sourceType: UIImagePickerController.SourceType .cameraclass Coordinator: NSObject, UINavigationControllerDelegate, UIImagePickerControllerDelegate {let parent: ImagePickerinit(parent: ImagePicker) {self.parent parent}func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {if let image info[.originalImage] as? UIImage {parent.selectedImage image}parent.presentationMode.wrappedValue.dismiss()}func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {parent.presentationMode.wrappedValue.dismiss()}}func makeCoordinator() - Coordinator {Coordinator(parent: self)}func makeUIViewController(context: Context) - UIImagePickerController {let picker UIImagePickerController()picker.delegate context.coordinatorpicker.sourceType sourceTypereturn picker}func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {} }struct ContentView: View {State private var isImagePickerPresented falseState private var selectedImage: UIImage?var body: some View {VStack {if let selectedImage selectedImage {Image(uiImage: selectedImage).resizable().scaledToFit().frame(width: 300, height: 300)} else {Text(No Image Selected).frame(width: 300, height: 300).background(Color.gray)}Button(action: {isImagePickerPresented true}) {Text(Take Photo).padding().background(Color.blue).foregroundColor(.white).cornerRadius(10)}.padding()}.sheet(isPresented: $isImagePickerPresented) {ImagePicker(selectedImage: $selectedImage)}} }struct ContentView_Previews: PreviewProvider {static var previews: some View {ContentView()} }通过添加 NSCameraUsageDescription应用在请求访问相机时会向用户显示一条提示解释为什么需要访问相机从而避免因未声明权限而导致的崩溃。
http://www.hkea.cn/news/14290508/

相关文章:

  • 企业做网站好处包头焦点网站建设
  • 关键词排名优化网站wordpress 导航菜单添加
  • 个人求职网站设计重装wordpress
  • 二级域名解析网站郴州网站建设公司电话
  • 设计logo网站免开发网站需要哪些技术人员
  • 山东省建设厅官方网站高手做网站
  • 斗图在线制作网站wordpress network
  • 用自己的电脑做服务器建网站哪里有做企业网站的
  • 做企业礼品的网站网站三合一建设
  • 江西省工程建设信息官方网站大同泰瑞集团建设有限公司网站
  • 网站开发种类建网站的企业
  • 网站维护和网页维护区别青年文明号网站建设
  • 北京模板建站设计北京海岸设计公司网站
  • 上海网站开发杭州市公共资源交易中心
  • 做电商平台网站有哪些内容手机如何做软件
  • 网站建设费用如何做账建设项目验收网站
  • 做网站制作要多少费用鄱阳县建设局网站
  • 网站内的地图导航怎么做做一个购物app要多少钱
  • 织梦可以仿所有网站吗企业网站定制案例
  • 淘宝联盟建网站免费高清图片素材网站推荐
  • 深圳网站建设服务哪便宜wordpress+并发量
  • vue网站开发实例广州关键词搜索排名
  • 淄博网站建设制作建e室内设计网贴图
  • 深圳网站设计clh美团网站怎么做
  • 外贸 礼品 网站莱西网站制作联赛与超
  • 欢迎进入河南国安建设集团有限公司网站企业网站哪家做得比较好
  • 网站卖了对方做违法吗什么网站可以免费做试卷
  • 如何自己开发一个网站网站分成推广怎么做
  • 怎么做网站邮箱注册公司网上申请入口网站
  • 嘉兴做网站赚钱么百度网站建设平台