UIImagePickerController push bearbeitungs view

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Macoun 2019 - Frühbucherrabatt bis 26.7.2019

  • UIImagePickerController push bearbeitungs view

    Halli Hallo!

    Ich habe gerade ein kleines Problem mit dem UIImagePickerController und einem zweiten UIViewController.
    Und zwar möchte ich, nachdem ein Foto aufgenommen wurde, einen viewController pushen, um in diesem auf das Foto zweichnen zu können.

    Dazu habe ich mir einen "photoEditingViewController" angelegt und in diesen eine UIImageView und eine UIToolBar gesetzt.
    Jetzt habe ich, wenn der UIImagePickerController fertig ist, eine Instanz von photoEditingViewController erzeugt, das Foto an diesen Übertragen und dann gepusht:

    Quellcode

    1. // mainViewController.m
    2. - (IBAction)takePhoto:(id)sender
    3. {
    4. UIImagePickerController *IMGPicker = [[UIImagePickerController alloc] init];
    5. [IMGPicker setSourceType:UIImagePickerControllerSourceTypeCamera];
    6. [IMGPicker setModalPresentationStyle:UIModalPresentationStyleFullScreen];
    7. [IMGPicker setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
    8. [IMGPicker setAllowsEditing:NO];
    9. [IMGPicker setDelegate:self];
    10. }
    11. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
    12. {
    13. photoEditingViewController *edit = [[photoEditingViewController alloc] init];
    14. [[edit myImagePicker] setImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];
    15. [picker pushViewController:edit animated:YES];
    16. }
    17. // photoEditingViewController.h
    18. @property (nonatomic, retain) IBOutlet *UIImageView myImagePicker;
    Alles anzeigen


    Wenn ich jetzt ein Foto mache und der UIImagePickerController meinen editot pusht, bleibt das Bild des Editors leider komplett leer.


    Kann mir vielleicht jemand dabei helfen?
    Herzlichen Dank, liebe Grüße
    Julian
  • Mac & i Test Abo
  • In dieser Zeile willst du doch das image für den "Edit-Controller" setzten oder?


    [[edit myImagePicker] setImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];

    warum hast du in dem Controller keine UIImage-property ?
    Also:

    edit.myImage = [info blabliblub];

    und dann setzt du das image einfach nur im viewWillAppear des edit-controllers



    Probiere das mal bitte

    //EDIT: Oder du setzt direkt den ImageView...
    also: edit.imageView = meinImageViewDerSchonDasBildzugewiesenhat;
    Gruß

    Robin
  • Thallius schrieb:

    Erklärst du mir dann trotzdem wo du das XIB lädst wenn du nur einen normalen alloc/init machst für den ViewController und vor allem warum du keinen initWithNibName machst ?

    Bei mir haben alle abgeleiteten UIViewController nur ein init, welches dann so aussieht:

    Quellcode

    1. - (id)init
    2. {
    3. self = [super initWithNibName:@"xxxView" bundle:nil];
    4. if (self)
    5. {
    6. // Custom initialization.
    7. }
    8. return self;
    9. }

    Wenn man einen ViewController per init erzeugt, dann braucht man sich keine Gedanken zu machen wo/wie dieser ViewController seinen View erzeugt, also entweder aus einem XIB oder per Code. ;)

    Erzeugst Du Deine ViewController immer per

    Quellcode

    1. [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
    ?
  • @robin_:
    Der picker macht ein Foto mit der Kamera. Dann pusht der picker in das Übersichtsfenster (dieser eingebaute Standard, wo man das Foto noch mal angucken kann).
    Dann pushe ich in meinen Editor.

    @Thallius:

    Quellcode

    1. - (void)imagePickerController:(UIImagePickerController *)IMPicker didFinishPickingMediaWithInfo:(NSDictionary *)info
    2. {
    3. photoEditingViewController *edit = [[photoEditingViewController alloc] init];
    4. [edit setMyImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];
    5. [edit setDelegate:self];
    6. [IMPicker pushViewController:edit animated:YES];
    7. }