2013-05-30 4 views
0

Я хочу нажать на контроллер представления из AppDelegate через представление предупреждения. Но это не работает. Отклонено только предупреждение. В чем проблема? Заранее спасибо за помощь. (NB> мой первоначальный вид в раскадровке, но я толкая в вид контроллера СИБ)pushViewController не работает из AppDelegate

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

loginReapeat = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(repeatLoginProcess) userInfo:nil repeats:YES]; 

//First Launch Settings 
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"FirstLaunch"]) 
{ 

} 
else 
{ 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstLaunch"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    [self alertShow]; 
} 

[window addSubview:[navigationController view]]; 

[window makeKeyAndVisible]; 

return YES; 
} 

-(void)alertShow{ 

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Help!" message:@"Need some help to use this App? Please tap the 'Help' button." delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Help",nil]; 
[alert show]; 
} 

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 

NSString *title = [alertView buttonTitleAtIndex:buttonIndex]; 
if([title isEqualToString:@"Help"]) 
{ 
    SignUp *signUp = [[SignUp alloc]initWithNibName:@"SignUp" bundle:nil]; 

    [self.navigationController pushViewController:signUp animated:YES]; 

} 
} 

ответ

1

Попробуйте это:

SignUp *signUp = [[SignUp alloc]initWithNibName:@"SignUp" bundle:nil];     
self.navigationController = [[UINavigationController alloc] initWithRootViewController:signUp]; 
self.window.rootViewController = self.navigationController; 
+0

Спасибо большое. Оно работает. +1 – Leo

+0

@Leo имеет проблемы с запросом. Это не сработало. – tGilani

0

Вы не можете нажать изнутри App делегата, вместо этого вы можете решить, какой UIViewController, чтобы показать, как RootViewController в зависимости от пользователя выбор из UIAlertView.

self.window.rootViewController = self.navController; 
0
SignUp *signUp = [[SignUp alloc]initWithNibName:@"SignUp" bundle:nil];     
    UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:signUp ] autorelease]; 
    self.window.rootViewController = masterNavigationController; 
0
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

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

ViewControllerName *home=[[ViewControllerName alloc] initWithNibName:@"ViewControllerName" bundle:nil]; 
self.window.rootViewController=home; 

navcontroller=[[UINavigationController alloc]initWithRootViewController:home]; 
self.window.rootViewController = self.navController.view; 
[self.window makeKeyAndVisible]; 
return YES; 

} 
Смежные вопросы