2015-05-28 2 views
0

Я импортировал в свой проект стороннюю библиотеку. В моем AppDelegate я создаю navigationController и устанавливаю rootViewController на мой существующий основной проект проекта. Затем я ссылаюсь на библиотеку ViewController и представляю ее в стеке навигации (думаю). Он отображается, но когда я пытаюсь уволить и вернуться к первоначальному проекту, он не работает. Мой код:navigationController не вернется в rootViewController

AppDelegate.m

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
     appbarViewController = [[AppBarViewController alloc] init]; 
     self.navigation = [[UINavigationController alloc]initWithRootViewController:appbarViewController]; 
     self.window.rootViewController = self.navigation; 
     [self.navigation setNavigationBarHidden:NO]; 
     [self.window addSubview:self.navigation.view]; 
     [self.window makeKeyAndVisible]; 
     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
     } 
     return YES; 
    } 

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
{ 
if([[url host] isEqualToString:@"session"]){ 

     if([[url path] isEqualToString:@"/login"]) 
     { 

    ACSViewController *acs = [[ACSViewController alloc] init];  
[self.window.rootViewController presentViewController:acs animated:NO completion:nil]; 
    } 
} 
      return YES; 
     } 
    } 

ACSViewController не является частью библиотеки, я создал и внутри называется библиотекой классов.

libraryViewController.m

-(void)backButtonPressed 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

Любые идеи, почему мнение не будет увольнять? Он оживляет, но затем возвращается с тем же текущим представлением.

+1

Вы нажимаете вид или используете presentViewController? – user3182143

+0

покажите мне кодировку presentViewcontroller. – user3182143

+0

настоящее, извините, я был на той же линии. Я переместил его сейчас, так что могу видеть, как я представляю представление –

ответ

0

Вы являетесь dismissingviewcontroller, который имеет notpresented, поэтому анимация происходит, но возвращается с тем же видом.

Здесь вы видите ACSViewController и отклоняете libraryViewController.

Решение сначала удаляет представление libraryViewController, а затем отклоняет ACSViewController. Следующая строка кода должна быть в ACSViewController, чтобы отклонить ее.

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

К сожалению, я не могу импортировать заголовки Project в библиотеку. Но я могу добавить в библиотеку. Будет ли [[NSNotificationCenter defaultCenter] addObserver: быть подходящим для этой или нет хорошей практики? –

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