- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是代码:
// Only allow photos to be picked,not taken.
imagePickerController.sourceType = .photoLibrary
这是错误:类型“UIImagePickerControllerSourceType”没有成员“photoLibrary”
只是想完成官方教程 Start Developing iOS Apps (Swift)
//MARK: Actions
@IBAction func selectImageFromPhotoLibrary(sender: UITapGestureRecognizer) {
//Hide the keyboard.
nameTextField.resignFirstResponder()
// UIImagepickerController is a view controller that lets a user pick media from their photo library.
let imagePickerController = UIImagePickerController()
// Only allow photos to be picked,not taken.
imagePickerController.sourceType = .photoLibrary
//Make sure ViewController is notified when the user picks an image.
imagePickerController.delegate = self
present(imagePickerController, animated: true, competion: nil)
}
@IBAction func setDefaultLabelText(sender: UIButton) {
mealNameLabel.text = "Default Text"
}
最佳答案
好的,看起来您可能正在使用 Swift 2.2(也许 Swift 2.3 也适用)。你想要这样的语法:
imagePickerController.sourceType = .PhotoLibrary
注意大小写。请记住,Xcode 8.2(2016 年 12 月 12 日发布)将是支持 Swift 2.x 的最后一个 Xcode 版本。在 2017 年的某个时候,您可能需要使用 Swift 3 来提交新的 App Store。
编辑:
这是我的完整 Swift 2.2 代码,后面是我的 Swift 3.0 代码。请注意两件事:
我也在使用相机应用程序并进行检查以确保它存在 - 模拟器不是这种情况。
除非您将以下内容添加到您的 info.plist 文件中,否则您的应用将在 iOS 10 中崩溃:
NSCameraUsageDescription用于拍摄照片效果的新图像NSPhotoLibrary使用说明用于选择照片效果的图像
您可以在标签中放置不同的值。
swift 2.2:
let picker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
picker.delegate = self
}
extension SelectViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// MARK: Camera App
func openCameraApp() {
if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
picker.allowsEditing = false
picker.sourceType = UIImagePickerControllerSourceType.Camera
picker.cameraCaptureMode = .Photo
picker.modalPresentationStyle = .FullScreen
presentViewController(picker,
animated: true,
completion: nil)
} else {
noCamera()
}
}
func noCamera(){
let alertVC = UIAlertController(
title: "No Camera",
message: "Sorry, this device has no camera",
preferredStyle: .Alert)
let okAction = UIAlertAction(
title: "OK",
style:.Default,
handler: nil)
alertVC.addAction(okAction)
presentViewController(
alertVC,
animated: true,
completion: nil)
}
// MARK: Photos Albums
func showImagePicker() {
picker.allowsEditing = false
picker.sourceType = .PhotoLibrary
// picker.modalPresentationStyle = .Popover
presentViewController(picker,
animated: true,
completion: nil)
picker.popoverPresentationController?.sourceView = self.view
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
image = chosenImage
self.performSegueWithIdentifier("ShowEditView", sender: self)
dismissViewControllerAnimated(true, completion: nil)
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
dismissViewControllerAnimated(false, completion: nil)
}
// MARK: Seque to EditViewController
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ShowEditView" {
if let vc = segue.destinationViewController as? EditViewController {
vc.image = image
}
}
}
}
Swift 3.0(只有扩展代码有语法变化):
func openCameraApp() {
if UIImagePickerController.availableCaptureModes(for: .rear) != nil {
picker.allowsEditing = false
picker.sourceType = UIImagePickerControllerSourceType.camera
picker.cameraCaptureMode = .photo
picker.modalPresentationStyle = .fullScreen
present(picker,
animated: true,
completion: nil)
} else {
noCamera()
}
}
func noCamera(){
let alertVC = UIAlertController(
title: "No Camera",
message: "Sorry, this device has no camera",
preferredStyle: .alert)
let okAction = UIAlertAction(
title: "OK",
style:.default,
handler: nil)
alertVC.addAction(okAction)
present(
alertVC,
animated: true,
completion: nil)
}
// MARK: Photos Albums
func showImagePicker() {
picker.allowsEditing = false
picker.sourceType = .photoLibrary
// picker.modalPresentationStyle = .Popover
present(picker,
animated: true,
completion: nil)
picker.popoverPresentationController?.sourceView = self.view
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
image = chosenImage
self.performSegue(withIdentifier: "ShowEditView", sender: self)
dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: false, completion: nil)
}
// MARK: Seque to EditViewController
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShowEditView" {
if let vc = segue.destination as? EditViewController {
vc.image = image
// vc.image = images[0]
}
}
}
关于ios - 类型 'UIImagePickerControllerSourceType' 没有成员 'photoLibrary',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41209005/
我想从照片库获取带有元数据的图像作为 MFMailComposer 的附件。我通过使用图像选择器从照片库中选择图像来完成此操作。 有没有办法在不使用图像选择器的情况下从 iPhone 中的 Photo
我在将大型视频资源从 PhotoLibrary 上传到服务器时遇到问题。 我得到的 Assets 数据为 described here ,将视频导出到本地文档,然后上传。 但是当我上传一个大视频(2分
从照片库中选择视频时,iOS 会压缩视频并将其存储在 tmp/文件夹中。该位置作为“.mediaURL”返回,用于将视频加载到 AVPlayer 中。我试图保存所选视频的位置,以便稍后播放,但我发现在
我想打开 photoLibrary 并从中选择一个视频文件。我无法成功打开库,但是当我从库中选择一个视频时,首先压缩视频,然后调用 UIImagePickerControllerDelegate 方法
这个问题已经有答案了: iOS 10 - App crashes To access photo library or device camera via UIImagePickerControlle
我试图仅在我的 imagePickerController 中显示视频图 block 。我知道您必须更改媒体类型,我已经这样做了。我想要的只是让它仅显示视频图 block ,而不显示相机胶卷和像您在此
这是代码: // Only allow photos to be picked,not taken. imagePickerController.sourceType = .photoLib
我正在尝试实现 Instagram 视频裁剪功能。为此,我需要获得视频的正确方向,我将使用该视频以正确的纵横比布置我的MPMoviePlayerController View ,然后用户将能够平移视频
我似乎无法在 Android 的图库中显示图像。 PhotoLibrary 插件返回文件列表,但是当我将图像 URL 提供给 img 标签时,它们不会加载。 window['c
我正在为我使用 Ionic 4 开发的应用程序实现图片上传功能。我正在使用 native 插件相机和其他一些插件来执行以下操作: async selectImage() { const act
我需要从 PhotoLibrary 中删除图像。我在应用程序中使用 UIImagePickerController 来拾取图像。在我的应用程序中使用此图像后,我需要从 iOS PhotoLibrary
我必须创建一个像默认照片库一样的自定义照片库,带有动画等。我有一些疑问.. 1。怀疑 我应该创建 3 个图像(缩略图图像、用于显示完整图像的 320*480 图像和原始尺寸图像,以防用户共享图像)(我
我只希望库中有一种类型的视频。使用默认库。我的应用程序目前正在使用 UIImagePickerController (.photoLibrary) 从应用程序文档目录中获取图像和视频。我只想显示一种视
我需要显示从照片库中删除照片和视频的进度。如果照片很少——删除可能需要几秒钟,但如果有 1000 张照片——则需要几分钟。所以,我需要以某种方式展示进步。我该怎么做? 我的代码 PHPhoto
我正在使用 xcode 5.1 并在 ios7.1 和 7.0.2 上测试了代码。在设备上的两种情况下,应用程序会因 UIImagePickerController 而崩溃: 1) 当 allowsE
没有 Angular 它工作正常: From Photo Album function onPhotoURISuccess(imageURI) { alert(imageURI) } funct
我需要从 PhotoLibrary 中删除图像。我在我的应用程序中使用 UIImagePickerController 来拾取图像。在我的应用程序中使用此图像后,我需要从 iOS PhotoLibra
我正在使用 ionic 3,我想从我的画廊中选择一张图片并裁剪图像,我已经成功创建了这个,但是当我选择 google photos 而不是画廊时出现问题,裁剪编辑器没有t 出现,图像变得模糊。因此我只
这些值都无法在 Android 的 phonegap 应用程序中启动照片库!!! 当使用任何此值调用 getPicture 方法时,它不会拉出照片库。 我使用 phonegap 构建云服务构建应用 请
如果我添加一个可以从 iPad 访问我的照片库的弹出窗口,系统总是会崩溃并显示以下消息: Terminating app due to uncaught exception 'UIApplicatio
我是一名优秀的程序员,十分优秀!