Наблюдайте, когда UITabBar скрыт от делегата - PullRequest
4 голосов
/ 03 июня 2011

Как добавить наблюдателя для случая, когда UITabBar скрыт (через 'hides-bottom-bar-when-push')?У меня есть пользовательская кнопка, которая находится под моей панелью вкладок, и я хочу убедиться, что она не появляется, когда UITabBar скрыт.Спасибо!

Ответы [ 3 ]

4 голосов
/ 03 июня 2011

Попробуйте использовать протокол UINavigationControllerDelegate :

- (void)navigationController:(UINavigationController *)navigationController 
      willShowViewController:(UIViewController *)viewController
                    animated:(BOOL)animated
{
    if (viewController.hidesBottomBarWhenPushed) {
        // ...
    }
}
1 голос
/ 03 июня 2011

Лучший вариант - поместить UIToolbar в UIView с включенным отсечением и расположить представление клипа чуть выше UITabBar. Затем добавьте это UIView как подпредставление вашего UITabBar. Таким образом, показ и скрытие UITabBar будет автоматически отображать или скрывать ваш UIToolbar Теперь вы можете анимировать отображение и скрытие вашего UIToolbar, и при этом он будет исчезать каждый раз, когда UITabBar делает.

0 голосов
/ 03 июня 2011

Это сообщит вам, когда значение этого поля изменится:

 UITabBar *myTabBar = [[UITabBar alloc] init];

 [self addObserver:myInterestedObjectWhoWantsToKnowWhenTabBarHiddenChanges
        forKeyPath:@"myTabBar.hidesBottomBarWhenPushed"
           options:NSKeyValueObservingOptionNew
           context:nil];

Затем в myInterestedObjectWhoWantsToKnowWhenTabBarHiddenChanges.m внедрить

     - (void)observeValueForKeyPath:(NSString *)keyPath 
                  ofObject:(id)object 
                    change:(NSDictionary *)change
                   context:(void *)context {    

               if ([keyPath isEqualToString:@"myTabBar.hidesBottomBarWhenPushed"]) {  // this key must match, where observer is set.        
                    // object will be "self" from the code above
                    // and the change dictionary will have the old and new values.
               }
       } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...