2013-09-22 93 views
0

编辑 - 我这解决了我自己 - 看笔记底部视图控制器没有出现

当Xcode中5使用iOS7,我使用的选项从相机拍摄的图像,或者从照片库,一旦图像被选择(或拍摄新照片),视图应该翻转到下一个屏幕。

这不会发生在运行iOS7的iPhone上,它可以在iPad上正常工作,但方法稍有不同,但它似乎是iOS7上iPhone的唯一问题。

这里是使用的代码,例如,从库函数中选择图像;

-(void) choosePic { 
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) { 
     UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init]; 
     cameraUI.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     cameraUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeSavedPhotosAlbum]; 
     cameraUI.allowsEditing = NO; 
     cameraUI.delegate = self; 

     if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     { 
      _popover = [[UIPopoverController alloc] initWithContentViewController:cameraUI]; 
      [_popover presentPopoverFromRect:btnLibrary.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 


     } 
     else 

      [self presentModalViewController: cameraUI animated: YES]; 

    }  
} 

此外,代码一次选择器完成;

- (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info { 
    //Disable buttons 

    [[UIApplication sharedApplication] setStatusBarHidden:YES]; 

    [self disableButtons]; 

    //Get image 
    self.originalImage = (UIImage *) [info objectForKey: UIImagePickerControllerOriginalImage]; 

    //Dismiss 
    if(_popover) 
    { 
     if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     { 
      [_popover dismissPopoverAnimated:YES]; 
      _popover = nil; 
     } 
    } 
    else 
     [picker dismissModalViewControllerAnimated: YES]; 

    //Next 
    [self performSelector: @selector(nextScreen) withObject:nil afterDelay:0.5]; 
} 

我通过切换来解决这个问题;

[picker dismissModalViewControllerAnimated: YES]; 

随着

[picker dismissViewControllerAnimated:NO completion:nil]; 

回答

0

首先,你需要确保逻辑到达正确的位置,它的目的是,请尝试将iPhone的特定行之前断点或NSLog的,试试这个(你也错过了卷曲牙套,此处添加它们):

-(void) choosePic { 
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) { 
     UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init]; 
     cameraUI.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     cameraUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeSavedPhotosAlbum]; 
     cameraUI.allowsEditing = NO; 
     cameraUI.delegate = self; 

     if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     { 
      _popover = [[UIPopoverController alloc] initWithContentViewController:cameraUI]; 
      [_popover presentPopoverFromRect:btnLibrary.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 


     }else{ 
      NSLog(@"Checkpoint !"); 
      [self presentModalViewController: cameraUI animated: YES]; 
     } 

    }  } 
+0

嘿穆斯塔法,是的,我得到的检查点在日志中,出现选择器,它似乎是一旦图象被选定后,拾取驳回,则是指翻转屏幕,但它不,它只是停留在主菜单屏幕没有翻转(iOS6和以下工作正常),虽然我确实在控制台中看到... '2013-09-22 18:14:43.372 [3977:60b]警告:尝试在上演示正在进行中的!' –

+0

Mostafa,刚刚修复它自己请看我的编辑:) –

+0

哦完美!,很高兴它成功了:) –

相关问题