Скрыть панель навигации без контроллера навигации - PullRequest
0 голосов
/ 07 ноября 2011

Я хочу скрыть UINavigationBar, который не находится внутри UINavigationController (это модальный вид) при нажатии кнопки.

Как я могу это сделать?Я бы хотел, чтобы это было анимировано.

1 Ответ

2 голосов
/ 07 ноября 2011

Если вы хотите, чтобы он был анимированным, вы можете просто установить его альфа на 0.0

[UIView beginAnimations:@"Hide bar animation" context:NULL];
[UIView setAnimationDuration:0.5];
navigationBar.alpha = 0.0;
[UIView commitAnimations];

затем вернитесь к 1.0, чтобы показать его

[UIView beginAnimations:@"Show bar animation" context:NULL];
[UIView setAnimationDuration:0.5];
navigationBar.alpha = 1.0;
[UIView commitAnimations];

Хотя в iOS 4+ рекомендуется использовать методы блочной анимации

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

который вы можете использовать так:

[UIView animateWithDuration:0.5
            animations:^{ 
                navigationBar.alpha = 0.0;
            } 
            completion:^(BOOL finished){
                /* some completion code */
            }];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...