我想更新Viewcontroller
上的圖像,我正在使用ImagePickerController
,我可以看到chosenImage
有數據,我分配它。當圖像被選擇,然後這viewcontroller
再次加載,我可以進行調試,看看它是否擊中loadUserProfile
方法,是的。但UIImage
正在某處以某種方式獲得零。UIImage從UIImagePickerController獲得零
@property (strong, nonatomic) UIImage *userPicImage;
@property (weak, nonatomic) IBOutlet UIImageView *userProfileImage;
- (void)viewDidLoad {
[super viewDidLoad];
[self loadUserProfile];
}
-(void)loadUserProfile
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString * userImageURL = [defaults objectForKey:@"imageURL"];
bool isReload = [defaults boolForKey:@"isReload"];
if(isReload)
{
//self.userPicImage is always nil
[self.userProfileImage setImage:self.userPicImage];
[defaults setBool:false forKey:@"comingBack"];
[defaults synchronize];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImagePickerControllerSourceType source = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
// userPicImage is not nil here!
self.userPicImage = chosenImage;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:true forKey:@"isReload"];
[defaults synchronize];
[picker dismissViewControllerAnimated:YES completion:^{
if (source == UIImagePickerControllerSourceTypeCamera) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
}];
}
嗯,你是否檢查'didFinishPickingMediaWithInfo'中的'self'和'loadUserProfile'是否是相同的地址? – nynohu
檢查這篇文章,並根據您的要求修改代碼。 http://www.theappguruz.com/blog/ios-image-picker-controller –