IPHONE:ABPeoplePickerNavigationController隐藏导航栏

dan*_*iel 6 iphone

你好我有一个ABPeoplePickerNavigationController,在创建时将其navigationBar设置为隐藏.

peoplePickerController.navigationBar.hidden = YES;
Run Code Online (Sandbox Code Playgroud)

这很有效,唯一的问题是当用户点击搜索框搜索某个人时,当他从搜索中返回时,会重新显示navigationBar.如何通知此信息并再次隐藏navigationBar?

我也认为这是一个苹果bug,因为在常规情况下,当点击搜索时,导航栏被隐藏以获得更多空间,并且稍后显示,但它没有考虑到该栏可能已被隐藏的事实第一名.

任何技巧都受到欢迎.

rpe*_*ich 22

最安全和最简单的方法是跟踪键盘隐藏/显示的时间.

- (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];
}
Run Code Online (Sandbox Code Playgroud)

  • 先生,你刚赢得100个声誉积分,非常感谢:). (2认同)