我正在使用cocos2d在iPad應用程序上工作,並且試圖使從庫中選擇圖片或使用相機拍攝圖片以在應用程序內使用。我昨天和今天整天都在瘋狂地用google搜索,試着一起做一些上面的事情,但是我應該首先承認我並不知道自己在做什麼。presentViewController導致崩潰
我現在的工作方式是點擊當前的用戶圖像,它會彈出一個菜單,詢問您是否要從相機或圖庫上傳不同的圖片。選擇攝像頭調用以下(和庫版本基本相同):
- (void) onGetCameraImage
{
UIImagePickerController* imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.allowsEditing = NO;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[imagePicker presentViewController:[CCDirector sharedDirector] animated:YES completion:NULL];
}
當我嘗試和測試這個(採摘庫,當然,因爲模擬器不能做的攝像頭,是的,我的確打算實現了無攝像頭的檢查),我得到以下崩潰:
2013-04-07 19:21:50.248 prototype1[20897:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <UIImagePickerController: 0x9e87ac0>.'
我認爲這是拍擊presentViewController
電話,但我有一個可怕的時間試圖找出我在做什麼錯的,因爲所有的教程和stackoverflow的答案使用不推薦的模態函數調用!我懷疑我只是在我之前的代碼中做過各種瘋狂的BS?無論哪種方式,我不知道如何讓我的代碼工作。
很多這種代碼已經從堆棧溢出中收集到,所以我不能保證它的任何敏感性 - 我對iOS編碼非常陌生,基本上被拋入這個項目,我們只是試圖使其工作。請幫忙!
這是有道理的......我原以爲sharedDirector是的UIViewController的子類,所以我試圖用它作爲視圖控制器,I認爲。然而,我知道我不能只用self而不是imagePicker,因爲這是CCLayerColor的一個子類(如果我嘗試,xcode會大叫我)。我不知道我還能嘗試什麼? – dunvi 2013-04-08 03:03:20
沒有等待。我交換了[CCDirector sharedDirector]和imagePicker,它的工作原理...現在我只是得到這個錯誤:'2013-04-07 20:05:31.678 prototype1 [23030:c07] ***由於未捕獲的異常'NSInvalidArgumentException' ,原因:'在iPad上,UIImagePickerController必須通過UIPopoverController'呈現,我知道這意味着什麼TT 感謝您的幫助! – dunvi 2013-04-08 03:06:47
當然,讓我知道你是否有更多麻煩。與Cocos和UIKit的組合事情變得過於複雜:-) – 2013-04-08 03:39:16