ImagePicker未在Xamarin

时间:2016-04-24 21:39:51

标签: c# ios image xamarin photo-gallery

我的应用中有一个图片选择器可以打开用户相册(iOS),以便他们可以选择图像。我正在使用xamarin跨平台,所以我有一个依赖服务导致这一块代码。之后我得到了所有正确的代码,但问题是图像选择器没有显示前一次或两次,只在用户刷新整个应用程序后才开始工作。以下是我用来创建选择器的以下代码:

        imagePicker = new UIImagePickerController ();
        imagePicker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
        imagePicker.MediaTypes = UIImagePickerController.AvailableMediaTypes (UIImagePickerControllerSourceType.PhotoLibrary);
        imagePicker.FinishedPickingMedia += Handle_FinishedPickingMedia;
        imagePicker.Canceled += Handle_Canceled;
        //Show the picker
        UIApplication.SharedApplication.KeyWindow.RootViewController.PresentModalViewController (imagePicker, true);

请注意,我已经尝试过NavigationController.PresentModalViewController但最终会出现空错误。我也试过“PresentViewController”,但没有帮助。此外,是否有任何不同的方式来显示图像选择器?任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

请尝试使用Xamarin Media插件,而不是使用DependencyService。

var file = await CrossMedia.Current.PickPhotoAsync();

答案 1 :(得分:0)

PresentModalViewController已弃用于6.0 https://developer.xamarin.com/api/member/UIKit.UIViewController.PresentModalViewController/p/UIKit.UIViewController/System.Boolean/

尝试更改此行:

UIApplication.SharedApplication.KeyWindow.RootViewController.PresentModalViewController (imagePicker, true);

到此:

UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController (imagePicker, true, null);

答案 2 :(得分:0)

看起来你还没有设置ModalPresentationStyle属性。我还注意到了PresentModalViewController方法中缺少的动作处理程序参数。

imagePicker.ModalPresentationStyle = UIModalPresentationStyle.Popover;