Xamarin 中不显示 ImagePicker

ImagePicker Not Showing In Xamarin

我的应用程序中有一个图像选择器,可以打开用户相册 (iOS),这样他们就可以 select 图片。我正在使用 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" 但没有帮助。另外,是否有任何不同的方式来显示图像选择器?任何帮助将不胜感激!

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);

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

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

您似乎还没有设置 ModalPresentationStyle 属性。我还注意到您的 PresentModalViewController 方法中缺少操作处理程序参数。

imagePicker.ModalPresentationStyle = UIModalPresentationStyle.Popover;