NativeScript中的self.window

时间:2016-05-06 18:24:27

标签: ios appdelegate nativescript

我在applicationDidFinishLaunchingWithOptions中有一个需要它的pod ...我不知道该怎么做:/

    // Your UI setup logic (if not using storyboards)
    self.window = ...
    self.window.rootViewController = ...
    [self.window makeKeyAndVisible];

    instance.presentOnboardingUIOnWindowCompletionHandler(self.window, function(args){
      //Complete Callback        
    })

显然{N}不使用故事板,所以我会在这做什么?

修改 好的,所以这似乎有效,但它有点接管整个屏幕,当窗口到达完成处理程序时,应用程序是DOA。我认为我需要做的是找到主要的原始根窗口并使该键显示,但是......?

    var myWindow = new UIWindow();

    myWindow.makeKeyAndVisible();

    instance.presentOnboardingUIOnWindowCompletionHandler(myWindow, function(args){
        resolve({
            window: myWindow,
            args: args    
        });
    });

2 个答案:

答案 0 :(得分:1)

您可以向application.launchEvent添加处理程序。此事件在didFinishLaunchingWithOptions中引发,因此您可以访问OSApplication实例。在那里,您可以使用UIWindow字段访问我们的_window。我不建议访问私有领域,但我们尚未公开它。 请注意,此窗口尚未设为keyAndVisible。

答案 1 :(得分:0)

我认为您需要在app.js文件中执行此操作。也许是这样的事情:

var application = require("application");

if (application.ios) {
    var __extends = this.__extends || function (d, b) {
        for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
        function __() { this.constructor = d; }
        __.prototype = b.prototype;
        d.prototype = new __();
    };

    var appDelegate = (function (_super) {
       __extends(appDelegate, _super);
       function appDelegate() {
           _super.apply(this, arguments);
       }

       appDelegate.prototype.applicationDidFinishLaunchingWithOptions = function (application, launchOptions) {
            // Do your magic here...
       };

       appDelegate.ObjCProtocols = [UIApplicationDelegate];
       return appDelegate;
    })(UIResponder);
   application.ios.delegate = appDelegate;
}