2009-11-19 35 views
1

這似乎是一個非常簡單的想法...我有一個按鈕,說「加載圖片」。點擊該按鈕後,我想刪除當前視圖,加載一個新視圖,打開圖像選擇器,獲取選定圖片,並將其顯示在剛加載的視圖中。我讀過幾篇文章,說UIImagePicker在viewDidLoad中不起作用,並找到一個建議使用awakeFromNib的線程,但即使這樣也行不通......這裏是代碼。請幫忙。如何加載UIImagePickerController viewLoad

在MenuViewController

-(IBAction)loadPictureButtonPressed 
{ 
    UIView *parent = [self.view superview]; 
    if(self.loadPictureViewController.view.superview == nil) 
    { 
     if(self.loadPictureViewController == nil) 
     { 
       LoadPictureViewController *picController = [[LoadPictureViewController alloc] 
      initWithNibName:@"LoadPictureView" bundle: nil]; 
       self.loadPictureViewController = picController; 
       [picController release]; 
     } 
    } 
    [parent addSubview:self.loadPictureViewController.view]; 
    [self.view removeFromSuperview]; 
} 

在LoadPictureViewController

-(void)awakeFromNib 
{ 
    if([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary]) 
    { 
      UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
      picker.delegate = self; 
      picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
      [self presentModalViewController:picker animated:YES]; 
      [picker release]; 
    } 
    else 
    { 
      UIAlertView *alert = [[UIAlertView alloc] 
          initWithTitle:@"Error!" 
          message:@"Device does not support photo library"; 
          delegate:nil 
          cancelButtonTitle:@"Ok" 
          otherButtonTitles:nil]; 
      [alert show]; 
      [alert release]; 
    } 
} 

再次我曾嘗試把這個代碼在兩個viewDidLoad中和awakeFromNib。請幫忙

回答

0

我只需在viewDidLoad中設置一個NSTimer,並使用0的計時器來選擇加載它的方法。

[NSTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(camera) userInfo:nil repeats:NO]; 
0

相反的NSTimer,你可能想使用在-viewDidLoad以下,

[self performSelector:@selector(camera) withObject:nil afterDelay:0]; 
相關問題