0

我得到这个uiactionsheet它加载uipickerviewcontroller在视图 - 控制这就是 其在UISplitViewController如何显示视图 - 控制:UIImagePickController并关闭它(SWIFT)

这是一个UIsplitviewcontroller,这个代码在一个的DetailView,该的DetailView被称为从马西德威

怎么过,当我尝试加载它“点击”它给了我一个警告,犯规去任何进一步

func actionSheet(actionSheet: UIActionSheet!, clickedButtonAtIndex buttonIndex: Int){ 
    var imagePicker = UIImagePickerController() 
    imagePicker.delegate = self 

    switch buttonIndex{ 

    case 0: 
     imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum 
     imagePicker.allowsEditing = true 
     imagePicker.delegate = self 
     NSLog("Vælg fra Biblioteket"); 
     break; 
    case 1: 
     imagePicker.sourceType = UIImagePickerControllerSourceType.Camera 
     imagePicker.allowsEditing = true 
     imagePicker.delegate = self 
     NSLog("Vælg Kamera"); 
     break; 
    default: 
     NSLog("Default"); 
     break; 
    } 
    self.presentViewController(imagePicker, animated: true, completion: nil) // this is the problem 
} 

的警告是:警告:尝试呈现在已经呈现(空)

怎么过,如果我用这个: self.showDeatilViewController(imagePicker,真)就出现,但然后我不能排除它在所有

这里是如何我以为会被开除

func imagePickerControllerDidCancel(picker: UIImagePickerController) { 

    picker.dismissViewControllerAnimated(true, completion: nil) 
} 

如果我运行的viewDidLoad这个代码,它的工作原理

 var imagePickerController = UIImagePickerController() 
    imagePickerController.delegate = self 
    imagePickerController.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum 
    imagePickerController.allowsEditing = true 
    self.presentViewController(imagePickerController, animated: true, completion: { imageP in 

    }) 

我想通了,如果我写这篇文章:

 self.presentedViewController?.presentViewController(imagePicker, animated: true, completion: nil) 

它显示并关闭?!?!

+0

这是什么? – CW0007007 2014-10-01 07:09:42

+0

@ CW0007007它在uisplitviewcontroller中,我忘了提及...我怎么会认为我自己是uisplitviewcontroller中的Detailviewcontroller – KennyVB 2014-10-01 07:18:13

+0

它是分割视图中的主视图吗? – CW0007007 2014-10-01 08:19:29

回答

4

我找到了工作......有人提醒我注意的是8.0 IOS有一个错误与打开photolibery和这样从应用.. ,所以我把它放在主队列这样

dispatch_async(dispatch_get_main_queue()){ 
     imagePicker.delegate = self 
     self.presentViewController(imagePicker, animated: true, completion: nil) 
    } 

现在它工作!

小小的延迟,但它的工作原理

相关问题