我試圖在UITabBarController之前顯示一個UIViewController 2秒,我知道我必須從我的appdelegate中創建它。我試圖通過首先將我的self.window.rootviewcontroller分配給我的UIViewController並在2秒後使用計時器將我的self.window.rootviewcontroller重新分配給我的UITabViewController。從UIViewController切換到UITabBarController
問題是,當我測試它時,我的viewcontroller顯示出來,但在2秒後應用程序崩潰。
這是我LaMetro_88AppDelegate.h
@interface LaMetro_88AppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>
{
UIView *startupView;
NSTimer *timer;
UIViewController *LoadingViewController;
UITabBarController *tabBarController;
}
-(void)changeView;
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@property (nonatomic, retain) IBOutlet UIViewController *LoadingViewController;
@end
這是我LaMetro_88AppDelegate.m
@implementation LaMetro_88AppDelegate
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
@synthesize LoadingViewController = _LoadingViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.rootViewController = self.LoadingViewController;
timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(changeView:) userInfo:nil repeats:NO];
[self.window makeKeyAndVisible];
return YES;
}
-(void)changeView
{
self.window.rootViewController = self.tabBarController;
}
你是如何添加新的視圖控制器?首先嚐試將它作爲子視圖添加到「window」中,然後_then_將「rootViewController」設置爲新的視圖控制器。但是,如果您只顯示了'UIViewController' 2秒,只需將其添加到'UITabBarController'的視圖並在兩秒後將其刪除。 – sooper
我更新了這個問題,那就是我的代碼。我將它添加到我的MainViewController.xib中,我在其中放置了一個視圖控制器和一個視圖。 –