1

我正在使用自定义演示者。我创建根导航控制器:

    public MainRootPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
    {
        _rootController = new UINavigationController(); // or: new UIViewController(); (no difference)
        window.RootViewController = rootController;
    }

然后在public override void Show(MvxViewModelRequest request)中用视图和控制器做我自己的厨房。

但是,尝试通过 _pictureChooserTask.ChoosePictureFromLibrary( 在此方法调用上没有任何反应。没有任何异常。

我想,问题是标准对话框(来自sdk)有一些问题(或者演示者有 - 不确定。我试过不使用演示者,它在我看来很好(代码很简单实际上向前 - 我没有做任何特别的事情)。所以,似乎 SDK(带有库图像选择器控制器)将它添加到演示者位置或其他东西所不期望的位置。

我什至用 Presenter 尝试过最简单的方法(以确保这不是我与其他控制器的自定义逻辑):

    public override void Show(MvxViewModelRequest request)
    {
        var controller0 = (UIViewController)Mvx.Resolve<IMvxTouchViewCreator>().CreateView(request);
        _rootController.PushViewController(controller0, false);
    }

仍然没有任何反应。

这怎么可能管理?谢谢!

4

1 回答 1

2

imagepicker 使用PresentModalViewControllerPresenter 中的方法

您的问题中没有包含该方法。

无论如何,看看像MvxTouchViewPresenter.cs这样的标准演示者,看看他们做了什么。您可能可以根据您的自定义情况对其进行调整。

    public override bool PresentModalViewController(UIViewController viewController, bool animated)
    {
        CurrentTopViewController.PresentViewController(viewController, animated, () => { });
        return true;
    }
于 2013-06-20T12:32:23.647 回答