フォトライブラリから選択した各写真の画像を使用してUIImageViewをプログラムで作成するボタンがあります。写真をビューに配置し、移動することができます。
ユーザーが画像を長押しすると、iPadにUIPopOverControllerが表示されます。そこから、ユーザーはボタンをクリックして、現在タッチされている画像を編集します。
私が抱えている問題は、そのUIImageView.imageに再度アクセスして、編集したばかりの完成した画像に画像を変更できないことです。
これがいくつかのコード例です。
// This figures out what imageView was tapped
- (void)handleEditTapped:(UITapGestureRecognizer *)recognizer {
editImage = (UIImageView*)recognizer.view;
if(UIGestureRecognizerStateBegan == recognizer.state) {
// Called on start of gesture, do work son!
popoverEditor = [[UIPopoverController alloc] initWithContentViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"popupEditor"]];
[popoverEditor presentPopoverFromRect:editImage.bounds inView:editImage permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
}
次に、popupEditorビューにあるボタンでeditorControllerをポップアップします。
- (IBAction)effectsEditorButton:(id)sender {
// This part I've been fooling around with to save the image and re-load it to try and get it to work but it loads successfully to the editor but will not save back to uiimageview.image
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *imageData = [defaults dataForKey:@"image"];
UIImage *loadedImage = [UIImage imageWithData:imageData];
myEditorController *editorController = [[myEditorController alloc] initWithImage:loadedImage];
[editorController setDelegate:self];
popoverEditor = [[UIPopoverController alloc] initWithContentViewController:editorController];
[popoverEditor presentPopoverFromRect:self.effectsButtonImage.bounds inView:self.effectsButtonImage permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
}
そして、ユーザーが写真の編集を終了した後、これが呼び出されます。
- (void)photoEditor:(myEditorController *)editor finishedWithImage:(UIImage *)finishedImage
{
// NSLog(@"TAG: %i",editImage.tag); Tried tags but wouldn't hold the .tag value to re reference it. Would always result in 0 after I set the tag to 10 on handleEditTapped
editImage.image = finishedImage;
[self.popoverEditor dismissPopoverAnimated:YES];
}
UIImageView.imageに再度アクセスする方法がわかりません。タグとnsuserdefaultsを試しましたが、役に立ちませんでした。
どんな助けでも大歓迎です!! ありがとうございました!