1

iPhoneでは、Xcodeで、次のようなコードを使用して、タブバーなどを含むすべてをオーバーレイするポップアップビューを表示できます-

[[[[UIApplication sharedApplication] delegate] window] addSubview:mySpecialView];

私はMonoTouchで同じことをしようとしています.私が使用しているコードはこれです-

UIApplication.SharedApplication.Delegate.Window.AddSubview(mySpecialView);

...しかし、これはクラッシュします。誰かが私が間違っていることを知っていますか?

助けてくれてありがとう。

4

1 に答える 1

7

どのようにクラッシュしたかは言われていませんが、デフォルトでは実装されていないため(ストーリーボード用)ModelNotImplementedException、プロパティを使用していると思います。Window

window(自動生成された)(AppDelegate.csファイル)のフィールドを返すように実装するかAppDelegate、(静的)フィールドと同じ変数を公開することができます。

たとえば、デフォルトで生成されたコード

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; }
}
于 2012-09-11T15:00:10.033 に答える