2011-04-11 25 views
2

我讀過iPad必須使用UIPopoverController才能查看PhotoLibrary,但是,我編輯了代碼使其成爲彈出窗口,但在選擇圖片時它不會隱藏。我發現它沒有達到didFinishpickingMediaWithInfo。我錯過了什麼?這裏是我的代碼彈出窗口中的ImagePicker不會隱藏

-(IBAction) ButtonClicked{ 

    ipc = [[UIImagePickerController alloc] init]; 
    ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    ipc.delegate=self; 
    popover = [[UIPopoverController alloc] initWithContentViewController:ipc]; 
    [ipc release]; 
    [popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 800.0, 400.0) 
          inView:self.view 
      permittedArrowDirections:UIPopoverArrowDirectionAny 
          animated:YES]; 
} 

這裏:

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker{ 
    [[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
    [picker release]; 
} 

這裏:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishpickingMediaWithInfo:(NSDictionary *)info{ 

// TempImage is a UIImage instance 
    TempImg = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    //bgImage is a UIImageView instance and it's connected in the IB 
    [bgImage setImage:TempImg]; 
    // Dismiss UIImagePickerController and release it 
    [picker dismissModalViewControllerAnimated:YES]; 
    [picker.view removeFromSuperview]; 
    [picker release]; 
} 

我真的需要別人的幫助,我已經看過每一個YouTube視頻,閱讀在互聯網上的每一篇文章並嘗試幾乎所有東西。我將衷心感謝您的幫助。

+0

如果你註釋掉[ipc release]'會發生什麼? – 2011-04-11 01:26:08

+0

沒什麼不同:) – 2011-04-11 01:38:09

+0

'-imagePickerDidCancel:'被解僱了嗎? – 2011-04-11 01:41:22

回答

6

第一個問題是方法didFinishpickingMediaWithInfo拼寫錯誤,所以它不會被調用。它應該是didFinishPickingMediaWithInfo(採摘大寫字母P)。

第二個問題是對父級調用解僱或者選擇器不會隱藏彈出窗口。相反,請嘗試撥打[popover dismissPopoverAnimated:YES];

+0

OH MY GOD !!!!!!!!!!!!!!!! – 2011-04-11 03:10:31

+0

感謝萬安娜:D – 2011-04-11 03:11:00

+0

@RawanWabil你爲什麼沒有把答案標記爲接受呢? – 2014-01-18 12:43:23

相關問題