2016-05-06 31 views
0

我有这个需要在applicationDidFinishLaunchingWithOptions ...荚,我不知道该怎么做:/self.window在NativeScript

// 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  
     }); 
    }); 

回答

1

您可以添加处理程序到application.launchEvent。此事件在didFinishLaunchingWithOptions中提出,因此您可以访问OSApplication实例。从那里你可以访问我们的UIWindow使用_window字段。我不建议访问私人领域,但我们还没有公开它。 请注意,此窗口尚未制作keyAndVisible。

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; 
} 
+0

我已经有了这个方法,是在哪里的args中可用的根UIWindow?我只是没有看到它使用它... –