2012-10-26 54 views
1

当我把这个行:dismissViewControllerAnimated:完成:]:无法识别的选择发送到实例 - MonoTouch的

((UIImagePickerController)sender).DismissViewController (true,() => {}); 

我得到这个错误。请帮助

MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[UIImagePickerController dismissViewControllerAnimated:completion:]: unrecognized selector sent to instance 0xb647ed0 
    at (wrapper managed-to-native) MonoTouch.ObjCRuntime.Messaging:void_objc_msgSend_bool_IntPtr (intptr,intptr,bool,intptr) 
    at MonoTouch.UIKit.UIViewController.DismissViewController (Boolean animated, MonoTouch.Foundation.NSAction completionHandler) [0x00036] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIViewController.g.cs:678 
    at ECPIInstructorObservationForm.Section1.Handle_FinishedPickingMedia (System.Object sender, MonoTouch.UIKit.UIImagePickerMediaPickedEventArgs e) [0x00142] in /Users/kjohnson/Projects/ECPIInstructorObservationForm/ECPIInstructorObservationForm/Section1.cs:298 
    at MonoTouch.UIKit.UIImagePickerController+_UIImagePickerControllerDelegate.FinishedPickingMedia (MonoTouch.UIKit.UIImagePickerController picker, MonoTouch.Foundation.NSDictionary info) [0x00014] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIImagePickerController.g.cs:601 
    at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr) 
    at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 
    at ECPIInstructorObservationForm.Application.Main (System.String[] args) [0x00000] in /Users/kjohnson/Projects/ECPIInstructorObservationForm/ECPIInstructorObservationForm/Main.cs:17 

回答

1

dismissViewControllerAnimated:completion:选择器是在iOS 5.0中引入的 - 您是否在早期的iOS版本上运行?

更新

我只是想运行此代码:

var picker = new UIImagePickerController(); 
picker.DismissViewController (true,() => Console.WriteLine ("foo!")); 

和它跑在我的机器,这意味着你已经显示的代码是不够的,重现该问题就好了你看到 - 也许你可以展示你如何创建和使用图像选择器?

+0

没有我运行IOS 6 –

+0

@KyleJohnson方式:见更新以上。 –

+0

我结束了它。我将在今晚发布代码。 –

0

使用DismissViewController完成处理程序是去

picker.DismissViewController (true,() => { 
    var labelPicsViewController = new LabelPicsViewController(); 
    PresentViewController(labelPicsViewController,true,null); 
}); 
相关问题