Xamarin.ios Monotouch-所有内容上的弹出窗口

Xamarin.ios Monotouch-所有内容上的弹出窗口,xamarin.ios,popup,modal-dialog,Xamarin.ios,Popup,Modal Dialog,在iPhone上,在Xcode中,我可以使用如下代码显示一个弹出视图,它覆盖了所有内容,包括选项卡栏等- [[[[UIApplication sharedApplication] delegate] window] addSubview:mySpecialView]; 我尝试在MonoTouch中做同样的事情,我使用的代码是- UIApplication.SharedApplication.Delegate.Window.AddSubview(mySpecialView); …但这会崩溃。有

在iPhone上,在Xcode中,我可以使用如下代码显示一个弹出视图,它覆盖了所有内容,包括选项卡栏等-

[[[[UIApplication sharedApplication] delegate] window] addSubview:mySpecialView];
我尝试在MonoTouch中做同样的事情,我使用的代码是-

UIApplication.SharedApplication.Delegate.Window.AddSubview(mySpecialView);
…但这会崩溃。有人知道我做错了什么吗


谢谢您的帮助。

您没有说它是如何崩溃的-但是我假设您在使用Window属性时遇到了ModelNotImplementedException,因为它在默认情况下没有实现,是用于情节提要的

您可以实现它以返回自动生成的AppDelegate AppDelegate.cs文件的窗口字段,也可以公开与静态字段相同的变量

例如,默认生成的代码

UIWindow window;

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    window.RootViewController = new UINavigationController ();
    window.MakeKeyAndVisible ();
    return true;
}
将成为:

static UIWindow window;

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    window.RootViewController = new UINavigationController ();
    window.MakeKeyAndVisible ();
    return true;
}

static public UIWindow Window {
    get { return window; }
}

您没有说明它是如何崩溃的,但我假设您在使用Window属性时遇到了ModelNotImplementedException,因为它在默认情况下没有实现,并且是用于情节提要的

您可以实现它以返回自动生成的AppDelegate AppDelegate.cs文件的窗口字段,也可以公开与静态字段相同的变量

例如,默认生成的代码

UIWindow window;

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    window.RootViewController = new UINavigationController ();
    window.MakeKeyAndVisible ();
    return true;
}
将成为:

static UIWindow window;

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    window.RootViewController = new UINavigationController ();
    window.MakeKeyAndVisible ();
    return true;
}

static public UIWindow Window {
    get { return window; }
}

就这样-非常感谢。我以为这会很简单,只是找到它!非常感谢!使它保持静态并通过属性进行曝光效果很好。就是这样-非常感谢。我以为这会很简单,只是找到它!非常感谢!将其设置为静态并通过属性公开效果非常好。