我有一个应用程序委托,我需要添加自定义标签栏控制器来覆盖 UITabbarController。我创建了 Window 用户界面,将 Window 引用到 Appdelegate 的 Window 对象。将文件的所有者设置为 UIApplication,添加 NSObject 并将身份类更改为我的委托,添加 UITabbarController 并将身份类更改为我的自定义标签栏控制器。现在我看到 didFinishLaunchingWithOptions 中的 Window 对象非常不寻常,所以我在屏幕上看不到任何东西。我的自定义标签栏控制器对象也是零!以下是我的新窗口结构和 main.m。谁能告诉我我在哪里做错了?谢谢。
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Appdelegate.h
#import <UIKit/UIKit.h>
#import "CustomTabBarController.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (strong, nonatomic) IBOutlet UIWindow *window;
@property (strong, nonatomic) IBOutlet CustomTabBarController *tabBarController;
@end
Appdelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if(_window == nil) // This is true for self.Window as well!
NSLog(@"nil");
if(_tabBarController.view == nil)
NSLog(@"nil");
[self.window addSubview:self.tabBarController.view];
[self.window makeKeyAndVisible];
return YES;
}