Default.png显示,但不是很长

时间:2011-04-16 23:29:01

标签: iphone

很多Default.png Q,但我没有读过这样的:我看到Default.png,但屏幕变为空白,但没有错误信息,没有中止。我错过了什么?

SDK 4.3,仅限iPhone,没有笔尖,没有方案,没有纵向上/下的方向。导航控制器,4个标签。

App ABC工作正常。

克隆XYZ没有。

info.plist似乎相同,包括半打图标文件;两个应用程序都没有包含“MainWindow”的条目。分析并生成“Build succeeded。”运行并显示“Attaching to process blah-blah-blah。”任何重新启动组合和/或重启Mac / XCode /模拟器/设备不做什么事。但有一点不同:ABC的下拉列表显示完整的设备名称,两个4.2和两个4.3; XYZ仅显示“IOS设备”和两个4.3。 ABC显示所有NSLog。 XYZ没有显示它们。在这两种情况下,第一个NSLog就在

之后
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

清洁所有目标没有任何区别。我在想,“不要克隆。”


XJones,这是您要求的代码。我尽可能地打击它。

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

NSLog(@"app delegate CGRect");
CGRect frameMain = [UIScreen mainScreen].applicationFrame;  
glbl_height = frameMain.size.height;
glbl_width = frameMain.size.width;

NSLog(@"app delegate background");
UIColor *blueGreenBackground = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Default.png"]];
self.window.backgroundColor = blueGreenBackground;
[blueGreenBackground release];


NSLog(@"app delegate 3");

Method01_vc  *method01VC = [[[Method01_vc alloc]  init] autorelease];
// more controllers
method01VC.title = NSLocalizedString(@"Title 1, Method 1",@"(title 1)");
// more titles  
UINavigationController *method01Nav = [[[UINavigationController alloc] initWithRootViewController:method01VC] autorelease];
// more controllers

NSLog(@"app delegate prior to tabBar init");
_tabBarController = [[UITabBarController alloc] init];
NSArray *sections = [NSArray arrayWithObjects:method01Nav, method02Nav, method03Nav, method04Nav, nil];
[_tabBarController setViewControllers:sections];

CGRect frame = CGRectMake(0.0, 0.0, 320, 48);   //  48
UIView *tabBarView = [[UIView alloc] initWithFrame:frame];
[tabBarView setBackgroundColor:[UIColor colorWithRed:0.07 green:0.14 blue:0.04 alpha:0.8]];

NSArray *tabs =  _tabBarController.viewControllers;
UIViewController *tab1 = [tabs objectAtIndex:0];
tab1.tabBarItem.image = [UIImage imageNamed:@"tabIcon01.png"];
tab1.tabBarItem.title = @"";
UIViewController *tab2 = [tabs objectAtIndex:1];
tab2.tabBarItem.image = [UIImage imageNamed:@"tabIcon02.png"];
tab2.tabBarItem.title = @"";

NSLog(@"app delegate prior to tabBar insert");
[[_tabBarController tabBar] insertSubview:tabBarView atIndex:0];
tabBarView.autoresizesSubviews = YES;
[tabBarView release];

_tabBarController.delegate = self;
[self.window addSubview:_tabBarController.view];
//  self.tabBarController.selectedIndex = 1; ---- makes no difference
//  self.window.rootViewController = self.tabBarController;   --- ditto
NSLog(@"app delegate prior to makeKeyAndVisible");
[self.window makeKeyAndVisible];

NSLog(@"app delegate, about to return YES");
return YES;

// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {

NSLog(@"Method01 CGRect");
CGRect frameMain = [UIScreen mainScreen].applicationFrame;  
UIView *view = [[UIView alloc] initWithFrame:frameMain];
self.view = view;   
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view.autoresizesSubviews = YES;

在上述之后,所有常用的标签和文本字段都会跟随。

再次感谢您抽出宝贵的时间来解决它。

我对“Duh!”抱有希望。

1 个答案:

答案 0 :(得分:2)

默认.png仅在iOS启动您的应用时显示。 B / c你的应用程序没有做任何事情,它会很快启动,所以Default.png消失了,取而代之的是你的应用程序的用户界面。要么您没有在应用程序窗口中添加视图,要么添加的视图显示为空白。

[编辑1:需要创建一个窗口]

查看您的代码,如果您没有使用IB,则需要在添加标签栏控制器视图之前初始化应用程序委托中的窗口。

self.window = [[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].applicationFrame] autorelease];

这是一个博客链接,显示了如果不使用IB,您需要做的一切:

http://code-dojo.blogspot.com/2009/11/build-iphone-application-without.html