小编Seb*_*ian的帖子

UIImagePickerController 出现“尝试呈现其视图不在窗口层次结构中的 Xamarin_Forms_Platform_iOS_ModalWrapper”错误

我有一个在 Android 和 iOS 上运行的基于 Xamarin.Forms 的应用程序。现在,我正在实现从相机胶卷中选择图像并将其上传到我们的服务器的功能。因此,我正在为 iOS 编写特定于平台的代码,这就是发生错误的地方。

我正在从特定于平台的 iOS 渲染器调用 UIImagePickerController。它正常打开。但是当点击 UIImagePickerController 中的图像时,没有任何反应,除了 Visual Studio 在调试控制台中显示一条消息:

“警告:尝试在 Xamarin_Forms_Platform_iOS_PlatformRenderer 上呈现 Xamarin_Forms_Platform_iOS_ModalWrapper:0x155a7ed00:0x153ead6a0,其视图不在窗口层次结构中!”

我用谷歌搜索,发现有人写了一个名为“GetVisibleViewController”的函数,我把它改编成我的项目(你可以在下面看到它)。在该函数返回的 ViewController 上,我调用了 PresentModalViewController() 方法。不幸的是,它也不起作用。无法选择照片。

private void ChoosePhoto()
{
    _imagePicker = new UIImagePickerController()
    {
        SourceType = UIImagePickerControllerSourceType.PhotoLibrary,
        MediaTypes = new string[] { UTType.Image }
    };

    _imagePicker.FinishedPickingMedia += delegate (object sender, UIImagePickerMediaPickedEventArgs e)
    {
        var fileName = eopAppLibrary.Tools.GetTimestampJpegFileName("ScanToEop_iOS");
        var jpegImageData = e.OriginalImage.AsJPEG();
        var jpegBytes = jpegImageData.ToArray();

        Events.RaiseFilePreviewNeeded(this, jpegBytes, fileName);
    };

    _imagePicker.Canceled += delegate (object sender, EventArgs e)
    {
        _imagePicker.DismissModalViewController(true); …
Run Code Online (Sandbox Code Playgroud)

.net c# xamarin.ios xamarin swift

5
推荐指数
1
解决办法
358
查看次数

标签 统计

.net ×1

c# ×1

swift ×1

xamarin ×1

xamarin.ios ×1