在初始化 PhoneGap 之前显示 ViewController
Posted
技术标签:
【中文标题】在初始化 PhoneGap 之前显示 ViewController【英文标题】:Show ViewController Before Initializing PhoneGap 【发布时间】:2012-02-22 18:11:30 【问题描述】:我们目前正在使用 PhoneGap 为客户端构建一个移动应用程序,并且需要提供一个 UIViewController 以在 PhoneGap 初始化之前检查任何 Web 文件更改。该应用程序是使用 PhoneGap 1.4.1 完成的,我试图通过扩展 PhoneGap 项目而不是 PhoneGap 库来实现这一点。这是我在application:didFinishLaunchingWithOptions:
中所做的事情
hostReach = [[Reachability reachabilityWithHostName: @"google.com"] retain];
internetReach = [[Reachability reachabilityForInternetConnection] retain];
//wifiReach = [[Reachability reachabilityForLocalWiFi] retain];
if (internetReach && hostReach)
self.app = application;
self.options = launchOptions;
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(updateFinished:) name: @"applicationUpdatingFinished" object: nil];
NSLog(@"Windows:%i",[[UIApplication sharedApplication].windows count]);
//[super application:app didFinishLaunchingWithOptions:options];
CGRect screenBounds = [ [ UIScreen mainScreen ] bounds ];
self.window = [ [ [ UIWindow alloc ] initWithFrame:screenBounds ] autorelease ];
UpdateViewController *updateVC = [[UpdateViewController alloc]init];
[updateVC.view setFrame:screenBounds];
[self.window makeKeyAndVisible];
return YES;
/////////////////////
// END Check for updates
/////////////////////
return [super application:application didFinishLaunchingWithOptions:launchOptions];
这是我在 UpdateViewController 完成后触发的内容。
-(void)updateFinished:(NSNotification*)n
[super application:app didFinishLaunchingWithOptions:options];
更新视图控制器做它应该做的,检查和下载任何新的网络文件。问题是它似乎继续显示 Default.png 图像,并且当我添加 UpdateViewController 的视图时,它将其放置在 Default.png 图像下。在调用 PhoneGap 的 application:didFinishLaunchingWithOptions:
之前,此图像不会消失。
有什么更好的方法,或者为什么 UpdateViewController 显示在 Default.png 下?
【问题讨论】:
【参考方案1】:你的项目中有这样的代码吗?
self.viewController.useSplashScreen = YES;
【讨论】:
不幸的是,问题似乎是由于创建了UIWindow
,然后 PhoneGapDelegate.m 正在重新创建此窗口。当它重新创建UIWindow
时,方向不正确。以上是关于在初始化 PhoneGap 之前显示 ViewController的主要内容,如果未能解决你的问题,请参考以下文章