我真的不知道如何在不粘贴所有代码的情况下对此进行解释,但是请稍作尝试。 “假设”我的.hs和.ms是正确的,我感到我的.xib设置不正确,但是我不能真正从中粘贴代码。相反,我压缩了文件并上传了源代码。 (如果您足够勇敢,可以在这里:http://bit.ly/ZtDkGi)我的构建成功,但是在应用启动后,模拟器的屏幕只是黑色。

本质上,我必须手动添加一个appDelegate对象。我将类设置为适当的类-但它仍然没有拉。如果有人愿意提供帮助,那就太好了。

这是我的Test_TableViewAppDelegate.h

#import <UIKit/UIKit.h>
@interface Test_TableViewAppDelegate : NSObject <UIApplicationDelegate>
{

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;

@end


这是我的新Test_TableViewAppDelegate.m

#import“ Test_TableViewAppDelegate.h”

@implementation Test_TableViewAppDelegate

@synthesize window=_window;
@synthesize navController=_navController;


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
//self.window.backgroundColor = [UIColor whiteColor];

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
window.backgroundColor = [UIColor greenColor];
self.window = window;

UIViewController *fvc = [[UIViewController alloc] init];

UIViewController *rootController = [[UIViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:rootController];

//UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:fvc];
self.navController = nc;

//[self.window addSubview: nc.view];
//[self.window makeKeyAndVisible];


self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
return YES;
}


RootViewController.h

#import <UIKit/UIKit.h>

@interface RootViewController : UITableViewController {
NSMutableArray *petsArray;

}

@end


RootViewController.m

#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController


最后但同样重要的是main.m(我认为这也可能是一个问题)

#import "Test_TableViewAppDelegate.h"

int main(int argc, char *argv[])
{
@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([Test_TableViewAppDelegate class]));
}
}


提前致谢。我会很感激的:D

最佳答案

在您的代表Test_TableViewAppDelegate
为什么将视图两次添加到窗口?

// you could remove these two lines
[self.window addSubview: nc.view];
[self.window makeKeyAndVisible];

//keep these two lines
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];


您要添加到navigationController的此视图中,该视图不带有任何笔尖名称

UIViewController *fvc = [[UIViewController alloc] init];


初始化应该像这样在您的委托中

RootViewController *rootController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:rootController];

关于ios - AppDelegate和.xib实现不正确,但是构建成功吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15274515/

10-13 03:49