Ios UIButton不';不要改变形象
我有一个自定义样式的UIButton和一个默认图像。当我按下它时,我加载相机,当拍摄照片时,我想更改UIButton中的图像,但它不起作用 我正在使用以下代码:Ios UIButton不';不要改变形象,ios,uibutton,Ios,Uibutton,我有一个自定义样式的UIButton和一个默认图像。当我按下它时,我加载相机,当拍摄照片时,我想更改UIButton中的图像,但它不起作用 我正在使用以下代码: - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info { UIImage *originalImage, *imageToSave;
- (void) imagePickerController: (UIImagePickerController *) picker
didFinishPickingMediaWithInfo: (NSDictionary *) info {
UIImage *originalImage, *imageToSave;
originalImage = (UIImage *) [info objectForKey:
UIImagePickerControllerOriginalImage];
imageToSave = originalImage;
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil);
});
[self.imageButton setImage:originalImage forState:UIControlStateNormal];
hasPhoto = YES;
[self dismissModalViewControllerAnimated: YES];
}
有什么想法吗?谢谢 您的代码看起来正确,是否检查了UIImagePickerController打开时是否释放imageButton?您的代码看起来正确,是否检查了UIImagePickerController打开时是否释放imageButton?是否检查了self.imageButton不是零 您可能只是未能将self.imageButton插座绑定到nib中的按钮(这很容易做到) 或者,正如Bits所建议的,视图(以及包括按钮在内的任何子视图)可能在显示图像选择器时已被释放,因此您可能需要在尝试操作按钮图像之前强制视图重新加载。如果是这种情况,请在设置图像以重新加载按钮之前调用此选项: [自我观点]
这可能看起来好像什么也不做,但view属性是一个惰性构造函数,因此调用它将在卸载视图时再次从nib加载视图。是否检查self.imageButton是否为nil 您可能只是未能将self.imageButton插座绑定到nib中的按钮(这很容易做到) 或者,正如Bits所建议的,视图(以及包括按钮在内的任何子视图)可能在显示图像选择器时已被释放,因此您可能需要在尝试操作按钮图像之前强制视图重新加载。如果是这种情况,请在设置图像以重新加载按钮之前调用此选项: [自我观点]
这可能看起来好像什么也不做,但view属性是一个惰性构造函数,因此调用它将在卸载视图时再次从nib加载视图。是,调用[self view]解决问题,但self.imagebutton不是nil是,调用[self view]解决问题,但self.imagebutton不是nil