我有一个使用sourceType相机调用的UIImagePickerController,80%的时间我得到黑色预览.如果我等待,让我们说大约30秒,我会得到一个很好的预览,它会在大约50%的时间内好,然后它会再次破裂.
有问题的图像与此非常相似.iDevice相机显示黑色而不是预览
其他人暗示GCD可能会导致相机出现问题,并且在加载图像选择器时更新UI会破坏它.我为每个调用主线程的GCD块设置了一个锁.
这是旋转以模拟活动指示器的图像的示例.
-(void)animateLoadingImage {
if (isMainThreadBlocked) {
return;
}
self.radians += M_PI_4 / 2;
[UIView beginAnimations:@"progress rotation" context:nil];
[UIView setAnimationDuration:.1];
self.loadingImageView.transform = CGAffineTransformMakeRotation(self.radians);
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
PS:快照未渲染的视图会导致空快照.确保在屏幕更新后快照或快照之前至少渲染了一次视图.
这会在我尝试打开拾取器控制器时显示ALWAYS,但即使相机正确显示预览,它也会显示.我不认为错误在这里,但这也让我很烦恼.
我有一个UITableViewCell按钮来拍摄图像并将其放回单元格中.当我调用UIImagePickerController并获取图像时,它不会调用以下委托
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject], sender:AnyObject)
Run Code Online (Sandbox Code Playgroud)
这是我在UITableViewController中的takePhotoFunction:
@IBAction func takePhoto(sender: AnyObject) {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
let actionSheet = UIAlertController(title: "Choose image souruce", message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)
actionSheet.addAction(UIAlertAction(title: "Take Image", style: UIAlertActionStyle.Default, handler: { (alert:UIAlertAction!) -> Void in
imagePickerController.sourceType = UIImagePickerControllerSourceType.Camera
self.presentViewController(imagePickerController, animated: true, completion: nil)
}))
actionSheet.addAction(UIAlertAction(title: "Photo Library", style: UIAlertActionStyle.Default, handler: { (alert:UIAlertAction!) -> Void in
imagePickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
self.presentViewController(imagePickerController, animated: true, completion: nil)
}))
actionSheet.addAction(UIAlertAction(title: "Cancel", style: …Run Code Online (Sandbox Code Playgroud) 相近
PhotoPicker发现错误:错误Domain = PlugInKit Code = 13
还有
https://forums.developer.apple.com/thread/82105
但我已经尝试了所有这些建议,但仍然在调试日志中出错.运行Swift 4 XCode 9A235
各个地方的建议是......
我没有在Swift 3中遇到这个问题 - 以前的xcode.但是使用Swift 4,我尝试了每次看到的建议,但仍然会出现以下错误
[发现]发现扩展时遇到的错误:错误域= PlugInKit代码= 13"查询已取消"UserInfo = {NSLocalizedDescription =查询已取消}
选择器工作正常,我最终选择了照片中的图像,但每次都在选择器退出(取消或选择)时收到此错误消息...
有任何建议如何停止错误消息?除了其他两个链接提供的事项列表(上面概述)
我的方法
@objc internal func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
imageSelected = nil
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
imageSelected = editedImage
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
imageSelected = …Run Code Online (Sandbox Code Playgroud) 我正在使用FDTake(pod不会对这个问题太重要但仍然是)从照片中选择视频中的视频.但是,我还希望能够编辑视频并将其长度限制为大约12秒.要做到这一点我看着吊舱的代码,改变了第271行到self.imagePicker.allowsEditing = true这已经导致我一直没能迄今为止解决的问题:左边的滑块的触摸(盒)是"关闭".由于这是一个相当含糊的描述我上传了一个视频,你可以在这里找到它.
不幸的是,我完全不知道是什么引起了这个问题,我真的很感激这方面的一些帮助.我问FDTake的创建者,但显然他认为Apple需要解决这个问题(因为你将能够看到最近的一个封闭问题).
有人可以解释我如何解决这个问题以及导致它的原因吗?
我UIImagePickerController用来从库中选择视频文件.用户可以上传视频.
此外,我正在使用videoMaximumDuration属性,而用户想要捕获视频并上传它.
我想知道如何获取所选视频文件的持续时间?这样我就可以限制用户上传持续时间超过20秒的视频.
我可以通过以下代码获得有关所选视频的一些基本信息:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
selectedVideoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
NSError *error;
NSDictionary * properties = [[NSFileManager defaultManager] attributesOfItemAtPath:selectedVideoUrl.path error:&error];
NSNumber * size = [properties objectForKey: NSFileSize];
NSLog(@"Vide info :- %@",properties);
}
Run Code Online (Sandbox Code Playgroud)
但是所选视频的持续时间并不存在.
谢谢...
我在这里看到了这个问题:UIImagePicker允许编辑卡在中心
似乎以前有人遇到过这个问题,但是没有明确的解决方案.
复制步骤:
我在iOS 7.0.3上.
这是我的代码:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePicker.allowsEditing = YES;
[self presentViewController:imagePicker animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud) 在iOS10上展示UIImagePickerController照片库来源时,我的应用程序崩溃了.
在具有相机源的iOS10和具有照片库和相机源的iOS9上,该应用程序不会崩溃.
该应用程序是用Swift 2.2编写的,由Xcode 7.3.1构建.
为什么会发生崩溃?
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
我有一个使用的iPhone应用程序UIImagePickerController.就像sourceType我一样
因此,用户可以从照片或相机照片中制作照片或从照片库中选择一张照片.
图像将显示在UIImageView中.如果用户关闭应用程序,则应保存图像.所以对于文本字段,我使用NSUserDefaults.我知道,使用NSData将图像保存在NSUSerDefaults中并不是一个好方法,所以我想将图像保存/复制到由我的应用程序控制的文件夹,类似于NSUserDefaults.
我怎样才能做到这一点?我想保存它,然后我可以将文件的路径写入我的NSUserDefaults并在应用程序启动时读取它.
提前谢谢你和最诚挚的问候.
正如标题所述,我正在开发的应用程序存在一个问题,该问题仅在应用程序在进入后台后重新启动时才会出现.
相机光圈或快门卡在关闭位置.有趣的是你仍然可以拍照,但你看不到预览.拍摄照片后,视图中会正确显示.
如果应用程序完全关闭,则在启动应用程序时不会发生此问题.我可以拍照,添加效果等,每次打开相机都能正常工作.
以下是重现问题的确切步骤:
1)我打开应用程序,一切正常.
2)应用程序通过按主页按钮或来电进入后台.
3)当应用程序进入前景/重新打开并且访问摄像机时,显示快门屏幕并在卡住位置保持关闭状态.
4)解决它的唯一方法是关闭模态视图相机控制器并再次按下相机按钮.
我做了一些研究以找到答案并且没有提出任何问题.没有内存泄漏,我已经检查了仪器中的内存分配,没有什么不寻常的.
希望有人有解决方案,我很感激帮助.
先感谢您.
嗨,我正在开发通用应用程序(iPhone/iPad).一个功能是我必须从相册中选择一张照片并在UIImageView上显示.
现在的问题是它在iPhone上运行良好但是当我尝试打开相册时它会崩溃.我在行动表委托中的代码是这样的:
- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
if ( ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]))
{
if (buttonIndex == 0)
{
[self lockAllImagesOnTheScreen];
imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePicker animated:YES];
}
if (buttonIndex == 1)
{
[self lockAllImagesOnTheScreen];
imagePicker.sourceType= UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker animated:YES];
}
}
else {
if (buttonIndex == 0)
{
[self lockAllImagesOnTheScreen];
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
imagePicker.sourceType= UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker animated:YES];
}
}
}
else{
if ( ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]))
{
if (buttonIndex == 0)
{
[self lockAllImagesOnTheScreen];
imagePicker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePicker animated:YES]; …Run Code Online (Sandbox Code Playgroud)