您好我有一个ABPeoplePickerNavigationController,在创建时设置了它 navigationBar hidden。
peoplePickerController.navigationBar.hidden = YES;
这很有效,唯一的问题是当用户点击搜索框时 为了搜索一个人,当他从搜索中返回时,将重新显示navigationBar。 如何获得此通知并再次隐藏navigationBar?
我还认为这是一个苹果错误,因为在搜索被点击的常规情况下, 隐藏导航栏以获得更多空间,然后显示,但是 它没有考虑到酒吧可能被隐藏的事实 第一名。
欢迎任何技巧。
答案 0 :(得分: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];
}
答案 1 :(得分:3)
如果您认为这是一个错误,则应将其提交至http://bugreporter.apple.com。
对我而言,它听起来也像是一个错误,但我会仔细检查文档以确保。如果它没有提及任何内容,那么我建议报告错误。
编辑:另一方面,我认为将导航栏设置为隐藏是一个坏主意。是否有特殊原因要隐藏它?