2016-05-06 38 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?我只是沒有看到它使用它... –