很多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!”抱有希望。
答案 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