2013-07-01 3 views
0

Кто-нибудь знает, как показать контроллер keeperview перед видом навигации? А потом также удалить его на основе уведомления?Показать представление контейнера над uinavigation

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

-(void)showRate { 

if(nil == self.rateView) { 

    self.rateView = [self.storyboard instantiateViewControllerWithIdentifier:@"Rate"]; 
} 

// Show the container view 

self.rateView.view.frame = CGRectMake(0, -600, 320, self.view.frame.size.height); 
self.rateView.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
[self.view addSubview:self.rateView.view]; 

[self addChildViewController:self.rateView]; 
[self.rateView didMoveToParentViewController:self]; 

[UIView animateWithDuration:0.5 delay:0.1 options:(UIViewAnimationCurveEaseOut) animations:^{ 
    //Slide the waitview on screen 
    self.rateView.view.frame = CGRectMake(0, 0, 320, self.view.frame.size.height); 

} completion:^(BOOL finished) { 
    //do nothing at end 
}]; 
} 
+0

Создайте представление и установите 'self.view = viewName', а затем удалите его, оживив его. –

ответ

0

Чтобы добавить любой подвид к предельной вершине, даже на панель навигации, используйте этот

[[UIApplication sharedApplication].keyWindow addSubview:yourSubView]; 

Надеется, что это помогает!

+0

Как бы удалить его? – jdog

+0

Чтобы удалить подзаголовок, используйте [yourSubView removeFromSuperview]; – aksh1t

0

Добавить вид на главном окне, если вы хотите, чтобы покрыть весь экран, включая панель навигации и панель состояния, если вы хотите, чтобы покрыть только вид, то вы можете добавить свой собственный вид, как подвид.

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