相关疑难解决方法(0)

iOS 7 UIImagePickerController具有黑色预览

我有一个使用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,但即使相机正确显示预览,它也会显示.我不认为错误在这里,但这也让我很烦恼.

iphone uiimagepickercontroller ios7

21
推荐指数
3
解决办法
1万
查看次数

iDevice相机显示黑色而不是预览

在此输入图像描述我正在开发一个应用程序,从iDevice的相机捕获图像并将其上传到Web服务.

没问题除了设备的相机外,一切正常.设备的相机让我疯狂.我使用下面的代码来允许用户捕获图像.有时相机显示预览,有时不显示.而不是预览只是在屏幕上显示完全黑暗.如果我从后面切换到前置摄像头,则开始正常工作.我甚至尝试从设备中删除所有后台应用程序并清除尽可能多的内存; 仍然没有运气,我被卡住了.:(

- (IBAction)addNewImage:(id)sender
{
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {
        // Take picture from camera
        imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

        // set no to take as much pictures as user want.
        imagePicker.showsCameraControls = YES;

        // Show user the camera
        [self presentModalViewController:imagePicker
                                animated:YES];
    }
    else
    {
        imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:imagePicker
                                animated:YES];        
    }    
}
Run Code Online (Sandbox Code Playgroud)

iphone camera ipad ios

12
推荐指数
2
解决办法
7435
查看次数

在iOS 7中使用相机时,应用因内存压力而终止

当我使用UIImagePickerController Camera捕获一些图像时,由于内存压力,我面临错误应用终止.

我先收到内存警告然后突然崩溃.这个问题在iOS 7中特别适用于iOS 6,它工作正常.

有人知道为什么在使用相机的iOS 7中会出现此内存问题.

注意:我试图最小化RAM使用率,因为它也可能是这种内存压力的原因.但仍然得到警告.

iphone objective-c uiimagepickercontroller ios ios7

9
推荐指数
1
解决办法
3898
查看次数

UIImagePickerController与UIImagePickerControllerSourceTypeCamera显示黑屏

我有一个随机的问题,当我提出UIImagePickerController捕捉照片.有时预览屏幕只是黑色.(这可能是第一次,可能是第二次,或者可以永远,甚至永远不会).然而,我可以看到相机控制,黄色方块可以进行人脸检测.如果我等待一段时间(约20秒),黑色预览消​​失,预览出现......

以下是我有时可以在日志中看到的内容:

快照未呈现的视图会导致空快照.确保在屏幕更新后快照或快照之前至少渲染了一次视图.

config:xcode 5.1.1,iPhone 5/5S,ios 7.0/7.1

这是一个为我重现问题的代码:

-(void) showCamera
{ 
    UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
    pickerController.allowsEditing = NO;
    pickerController.sourceType     = UIImagePickerControllerSourceTypeCamera;
    pickerController.cameraDevice   = UIImagePickerControllerCameraDeviceFront;
    pickerController.cameraOverlayView = nil;

    UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
    while (topController.presentedViewController) {
        topController = topController.presentedViewController;
    }

    [topController presentViewController:pickerController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

当然,对于我的真实应用程序,我测试是否有相机:

[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]);
Run Code Online (Sandbox Code Playgroud)

我发现了几个类似的问题,但没有任何真正的答案:

我已经尝试了他们的建议,没有成功.

编辑:这里有一些代码:正如所说的,我创建了一个单例类,子类化UIImagePickerController:

@implementation BBImagePickerController

static BBImagePickerController *sharedInstance = nil;

+ (BBImagePickerController *) sharedInstance
{
    if (!sharedInstance)
        sharedInstance = [[BBImagePickerController alloc] init];

    return sharedInstance;
} …
Run Code Online (Sandbox Code Playgroud)

iphone uiimagepickercontroller ios

6
推荐指数
0
解决办法
2161
查看次数

标签 统计

iphone ×4

ios ×3

uiimagepickercontroller ×3

ios7 ×2

camera ×1

ipad ×1

objective-c ×1