这似乎是一个相对简单的问题,但它让我难过。任何帮助/见解都表示赞赏。
问题:
我的屏幕上有一个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];
那么我做错了什么?我们非常感谢您的任何见解,并提前感谢您的帮助。
答案 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 方法,瞧!!它工作正常。默认图像平滑加载......