我正在使用自定义Presenter。 我创建了根导航控制器:
public MainRootPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
{
_rootController = new UINavigationController(); // or: new UIViewController(); (no difference)
window.RootViewController = rootController;
}
然后在公开覆盖void Show(MvxViewModelRequest请求)用视图和控制器做我自己的厨房。
然而,当我试图通过iPhone图像库获取图像时,我遇到了问题 的 _pictureChooserTask.ChoosePictureFromLibrary( 在这个方法调用没有任何反应。没有任何例外。
我想,问题是标准对话框(来自sdk)有一些问题(或者演示者有 - 不确定。我已经尝试过不使用演示者,它可以正常使用我的视图(代码)实际上是非常直接的 - 我没有什么特别的)。 所以,似乎SDK(带有库图像选择器控制器)将它添加到演示者位置或其他东西不期望的位置。
我甚至尝试过使用Presenter最简单的方法(以确保这不是我与其他控制器的自定义逻辑):
public override void Show(MvxViewModelRequest request)
{
var controller0 = (UIViewController)Mvx.Resolve<IMvxTouchViewCreator>().CreateView(request);
_rootController.PushViewController(controller0, false);
}
并且没有任何事情发生。
如何管理? 谢谢!
答案 0 :(得分:2)
imagepicker使用Presenter中的PresentModalViewController
方法
您的问题中没有包含该方法。
无论如何,请查看标准演示者,例如MvxTouchViewPresenter.cs,看看他们做了什么。您可以根据自定义情况对其进行调整。
public override bool PresentModalViewController(UIViewController viewController, bool animated)
{
CurrentTopViewController.PresentViewController(viewController, animated, () => { });
return true;
}