IPHONE: ABPeoplePickerNavigationController скрытая панель навигации - PullRequest
6 голосов
/ 13 июля 2009

Здравствуйте, у меня есть ABPeoplePickerNavigationController, при создании устанавливается его навигационная панель скрыта.

peoplePickerController.navigationBar.hidden = YES;

Это отлично работает, единственная проблема в том, что когда пользователь нажимает на поле поиска для поиска человека, когда он возвращается из поиска, панель навигации отображается повторно. Как я могу получить уведомление об этом и снова скрыть панель навигации?

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

Любой трюк приветствуется.

Ответы [ 2 ]

22 голосов
/ 19 июля 2009

Самый безопасный и простой способ - отслеживать, когда клавиатура скрывается / показывает.

- (void)keyboardWillHide:(NSNotification *)notification
{
    peoplePickerController.navigationBar.hidden = YES;
}

- (void)hideNavbarAndKeepHidden
{        
    peoplePickerController.navigationBar.hidden = YES;
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];   
}

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super dealloc];
}
3 голосов
/ 14 июля 2009

Если вы считаете, что это ошибка, отправьте ее на http://bugreporter.apple.com.

Для меня это также звучит как ошибка, но я бы дважды проверил документацию, чтобы убедиться. Если ничего не упоминается, я предлагаю сообщить об ошибке.

Редактировать: С другой стороны, я думаю, что установка скрытой панели навигации здесь - плохая идея. Есть ли какая-то особая причина, чтобы хотеть это скрыть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...