UIImagePickerController不加载图像

时间:2013-01-05 03:11:08

标签: ios image uiimagepickercontroller

这似乎是一个相对简单的问题,但它让我难过。任何帮助/见解都表示赞赏。

问题:

我的屏幕上有一个UIImagePickerController按钮,并且最初要加载自定义图像,直到用户从相机胶卷中选择一个图像(自定义图像只是一个+号)。但是,UIImagePickerController按钮在用户第一次单击它之前显示为空白。第一次单击后,它工作正常但由于某种原因它不会使用默认图像初始化。我已经从控制器中的viewDidLoad方法粘贴了我的代码。

代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0];
NSString *filePath = [documentsPath stringByAppendingPathComponent:[self.detailItem cardName]];
filePath = [filePath stringByAppendingPathExtension:@"png"];
NSData *pngData = [NSData dataWithContentsOfFile:filePath];
imgPickerButton.imageView.image = [UIImage imageWithData:pngData];

那么我做错了什么?我们非常感谢您的任何见解,并提前感谢您的帮助。

This illustrates the design view of the screen in storyboard

Screenshot of how the view appears until the user clicks the button

3 个答案:

答案 0 :(得分:0)

调试吗?

//Your Code

//Debug it with muscle
NSLog(@"\n**** I Love Debug Statements! *****\ndocumentsPath: %@\n filePath: %@\ndetailItem: %@\ndefault image: %@", documentsPath, filePath, self.detailItem, imgPickerButton.imageView.image);

我的猜测是,当你第一次尝试打电话时,你的“self.detailItem”是零...

答案 1 :(得分:0)

从图片看起来这是一个tableview的一部分?如果是这种情况,那么在上面的代码

之前,tableview单元格就会被加载

答案 2 :(得分:0)

好的想通了!!我在viewDidLoad方法中为UIButton设置了图像。这是在绘制视图后调用的方法。因此,默认图像直到第一次单击才出现,此时重绘UIButton。为了解决这个问题,我将代码移动到了 awakeFromNib 方法,瞧!!它工作正常。默认图像平滑加载......