setNavigationBarСкрытый с анимацией не работает на iPad - PullRequest
1 голос
/ 10 ноября 2011

Я использую следующий код в своем приложении, когда пользователь нажимает кнопку:

[self.navigationController setNavigationBarHidden:NO animated:YES];

Внешний вид нормально анимируется на iPhone, но не на iPad. Ты знаешь почему?

Ответы [ 4 ]

3 голосов
/ 10 ноября 2011

Лучшее решение здесь может заключаться в том, чтобы поместить self.navigationBar.hidden = NO; в метод -viewWillAppear: UIViewController, где вы не хотите, чтобы панель постоянно скрывалась.

РЕДАКТИРОВАТЬ:

я нашелэто может вам помочь;

if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
    CGRect rect = self.navigationController.navigationBar.frame;
    rect.origin.y = rect.origin.y < 0 ?
        rect.origin.y + rect.size.height
    :   rect.origin.y - rect.size.height;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.2];
    self.navigationController.navigationBar.frame = rect;
    [UIView commitAnimations];
}
else 
{
    [self.navigationController setNavigationBarHidden:shouldHide animated:YES];
}
1 голос
/ 22 ноября 2011

Проверьте другой код, который вы написали вместе со свойствами вашего представления. Я использую этот фрагмент в своих универсальных приложениях, и он отлично работает как на iPhone, так и на iPad. Похоже, что некоторые другие настройки (возможно, автоматически меняющие свойства ??) ваших представлений вызывают это.

1 голос
/ 17 ноября 2011

Вы уверены, что вызываете это в контексте основной темы?

0 голосов
/ 21 ноября 2011

Этот код работает нормально для меня.Я пытаюсь использовать шаблон навигации для iphone, а затем обновить проект для ipad для двух конкретных устройств.и запустить в iPad.Затем навигационная панель скрывается / показывается с той же анимацией, что и приложение для iphone.

Попробуйте это.Можете ли вы получить больше идей.

Спасибо,

MinuMaster

...