Tag: uiimagepickercontroller

如何将相机中的图像保存到iPhone图库中的特定文件夹?

嘿,我是新来的iPhone和我一直在试图做一个应用程序最近。 基本上,我想要做的是如果用户将从相机捕捉任何图像,那么它应该保存在设备库中。 我知道如何将照片保存在图库中,但是我正在为我工​​作,但是我无法将所有捕获的图像保存到设备库中的特定文件夹(如新相册)中。 我希望用户能够拍摄多张照片,然后将图片从特定文件夹复制到图库中。 这里是我的代码: – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType]; if([mediaType isEqualToString:(NSString*)kUTTypeImage]) { UIImage *photoTaken = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; self.imageView.image = photoTaken; //Save Photo to library only if it wasnt already saved ie its just been taken if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { UIImageWriteToSavedPhotosAlbum(photoTaken, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); } } [picker dismissViewControllerAnimated:YES […]

UIImagePickerController裁剪?

我已经读过,这是自动的,但似乎并没有发生在我的情况。 使用UIImagePickerController allowEditing设置为YES我得到我的编辑视图与裁剪正方形覆盖,但是当我完成了图像它没有裁剪,因为我期望。 在这个阶段应该是自动的吗? 如果不是,那么在默认视图提供的匹配区域中裁剪图像可能是一个很好的解决scheme? 谢谢。

故事板中的UIImagePickerController:UIImagePickerControllerSourceTypePhotoLibrary显示黑屏

我有一个故事板,我创build了一个UINavigationController实例,并将其自定义类设置为UIImagePickerController 。 如果我在prepareForSegue设置imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera ,一切工作正常。 如果我在prepareForSegue设置了imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary ,我得到一个大部分是黑色的屏幕,顶部有一个空的灰色条,我不能忽略: [未来位置的截图 – 我不能发布图像] 我可以通过不使用故事板来解决这个问题。 我有这个问题 – 可以使用这个故事板吗? 如果没有,为什么不呢? 为什么只能用于展示相机? 编辑:一个同事评论说,这可能是一个新的问题ios7 下面的代码不工作,如果segue触发一个故事板 – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSAssert([segue.destinationViewController isKindOfClass:[UIImagePickerController class]], @"Destination VC should be UIImagePickerController"); UIImagePickerController *imagePicker = (UIImagePickerController*) segue.destinationViewController; imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; imagePicker.allowsEditing = YES; imagePicker.delegate = self; }

应用程序只启用肖像,但UIImagePickerController在iOS6中旋转

请注意下面的答案 – 不适用于iOS6,所以我仍然需要一个答案! 我的应用程序仅适用于肖像模式。 但是,如果我内嵌一个UIImagePickerController作为子视图,并旋转设备,顶部和底部酒吧留在相同的位置,但UIImagePickerController不会旋转。 我怎样才能防止它旋转? 这是代码: [self.view.window addSubview:self.imagePickerController.view]; self.imagePickerController.showsCameraControls = NO; self.imagePickerController.view.frame = CGRectMake(0, 90, 320, 320); self.imagePickerController.allowsEditing = NO; EDITED 我正在使用iOS6,其中shouldAutorotate不是calle

closuresUIImagePickerController后错误的屏幕尺寸

当我用UIImagePickerControllerSourceTypeCamera源types呈现UIImagePickerController时,我有一个类似whatsapp的iOS应用程序。 imagePicker = [UIImagePickerController new]; imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker.delegate = self; imagePicker.mediaTypes =[NSArray arrayWithObjects:(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage,nil]; [self presentViewController:imagePicker animated:YES completion:nil]; 问题 在Video模式取消或完成捕获UIImagePickerController一些时候,当我回到我的viewController(closures相机)我的input查看(我的Windows)20像素(状态栏高度)底部,我认为我的问题涉及到这个链接如何打电话时在绿色栏下方放置视图? ,因为在video片段中录制状态栏显示一会儿。 在某些情况下,我的Windows(UITabbar在前面的控制器底部一样)! 编辑 该解决scheme只适用于当前视图,但另一个视图控制器损坏(进入底部)

拍照后select“使用照片”时,使用UIImagePickerController的应用程序会冻结

我正在制作一个简单的照片和video捕捉应用程序。 该应用程序成功地允许用户按下button拍摄照片或video。 但是,只要您完成拍摄照片或video,就会有2个选项:“重拍”和“使用照片”或“使用video”,具体取决于您使用的是哪一种。 如果用户点击“重拍”,那么就让他们重拍一张新的照片或video,但是当用户点击“使用照片”或“使用video”时,屏幕会冻结。 如果我退出冻结的应用程序,并看看我的相机胶卷,我刚刚使用该应用程序的照片已成功保存。 所以,当你点击“使用照片”button,即使应用程序屏幕冻结,它也能成功保存到相机上。 有人告诉我,“冻结是因为保存照片需要一些时间,而且它正在主线程上运行,你可以使用ALAssetLibrary来解决冻结问题。” 但是,我不熟悉ALAssetLibrary或者为什么在这种情况下会有帮助的理论。 我只是通过它的一些文档浏览,而我仍然迷失。 任何帮助将不胜感激。 这是我迄今为止的代码: ViewController.h: #import <UIKit/UIKit.h> @interface ViewController : UIViewController <UINavigationControllerDelegate, UIImagePickerControllerDelegate> @property UIImagePickerController * pickerController; -(IBAction)showCameraUI; @end ViewController.m: #import "ViewController.h" #import <MobileCoreServices/MobileCoreServices.h> @interface ViewController () <UINavigationControllerDelegate, UIImagePickerControllerDelegate> //The above are the 2 delegates required for creating a media capture/camera app. – (void)imagePickerController:pickerController didFinishPickingMediaWithInfo:(NSDictionary *)info; @end @implementation […]

UIImagePickerController with allowsEditing不允许平移裁剪

我在这里看到这个问题: UIImagePicker允许Editing卡在中心 看来以前有人有这个问题,但是没有明确的解决办法。 复制步骤: 设置allowsEditing = YES 拍一张照片 裁剪窗口出现,但每次我平移图像,它只是回到中心。 我在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];

图像select器显示多个图像像拼贴没有内存问题

我正在使用此ImagePicker从库或相机中select多个图像。 一旦用户完成select图像,我将这些图像存储到一个数组。 我希望根据所选图像的数量来显示图像。 例如,如果select的图像超过5个,则结果将会是所选图像中的类似内容。 Imagepicker对我来说是新的。 我不知道如何做到这一点。 我读过很多文章,但没有弄清楚如何在我的情况下实现。 我在testing项目上testing它, func doneButtonDidPress(_ imagePicker: ImagePickerController, images: [UIImage]) { imagePicker.dismiss(animated: true, completion: nil) imageArray = images createCollage() } func createCollage() { } 如果我使用UIimageView来显示/加载图像,则会显示大量的内存使用情况。 任何人都可以帮助我在这里任何这些问题? 任何帮助都感激不尽!!

UIImagePickerController在ios7中没有显示(需要更多时间来加载)相机预览

我在我的应用程序中使用GCD在后台队列中获取大量图像和数据,当我展示uiimagepickercontroller时,需要更多时间来显示相机预览。 search后,我发现很多人都面对iOS 7的这个问题,这里有一个更有意义的post。 ( iOS 7的UIImagePickerController相机没有图像 )。 解决scheme是停止后台线程,然后出现select控制器。 但我真的难住,不知道如何停止或暂停后台线程,呈现select控制器,然后恢复/启动后台线程。 有人可以帮助我这个。 下面是我如何在我的networking课堂(和其他人一样)获取图像和数据的背景。 我的串行队列是这样初始化的。 sharedInstance.serialQueue = dispatch_queue_create("user-detail-queue", DISPATCH_QUEUE_CONCURRENT); 而在后台取东西的代码就是这样的。 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ NSString *myUserID = [JNKeychain loadValueForKey:@"userID"]; NSString *sessionToken = [JNKeychain loadValueForKey:@"sessionToken"]; if(sessionToken && myUserID) { dispatch_async([BGNetworkAPI sharedInstance].serialQueue, ^{ id object = [[BGNetworkAPI sharedInstance].userCache objectForKey:myUserID]; if(object) { NSDictionary *cachedResponseDictionary = (NSDictionary *)object; BGUser *user = [BGUser createUserWithResponseDictionary:cachedResponseDictionary]; […]

加载UIImagePickerController更快?

我需要加载UIImagePickerController更快。 我的应用程序将从可能的多个控制器调用UIImagePickerController ,并在每个控制器中有两个button,一个用于照片库,另一个用于相机。 这是我的示例应用程序。 我尝试过的一些解决scheme是Apple在“ 并发编程指南 ”中推荐的。 最简单的是当用户按下button时,分配&init实例。 相机出现之前最多可能需要2秒钟的时间。 解决scheme尝试: – (1)我做了一个@property(…)* imagePicker,并在viewDidAppear调用它的alloc&init来使它看起来很stream畅,但是它妨碍了加载其他元素,可能是因为它使用了同一个线程。 在initWithNibName或viewDidLoad使用时会导致较差的结果。 (2) Operation queues …不令人满意的结果。 (3) Dispatch Queues …更好的结果,但仍然明显的波涛汹涌的performance。 (4) performSelectorInBackground:withObject:不是很好的结果。 除非另有build议,否则我不认为我想走向世界。 我没有任何问题,使两个@properties的UIImagePickerController 。 我将继续可能的' 线程编程指南 '。 如果可以的话,请在您的解决scheme中包含任何必要的内存pipe理实践。 谢谢。 – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // (1) TRYING OPERATION QUEUES // (a) — NSBlockOperation NSBlockOperation *NSBO_IP = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"before"); imagePicker = [[UIImagePickerController […]