簡體   English   中英

搜索顯示控制器在點擊搜索欄時不隱藏導航欄

[英]Search Display Controller to not hide navigation bar when search bar is tapped

我使用搜索顯示控制器進行搜索。 我遵循Apple的TableSearch示例。

searchBarTextDidBeginEditing我放置了[self.searchDisplayController setNavigationBarHidden:NO animated:YES]來保持導航欄的顯示,但這不起作用。 顯示鍵盤時,導航欄被推到頂部。

首次顯示鍵盤時,是否有辦法使導航欄停留在頁面上?

謝謝

特德

這似乎為我解決了。 已在iOS5 / 6.1中測試。 我看不到任何視覺問題。

- (void)viewDidAppear
{
    [super viewDidAppear];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillAppear:) name:UIKeyboardWillShowNotification object:nil];
}

-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (void)keyboardWillAppear:(NSNotification *)notification
{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
}

-(void)viewDidLayoutSubviews{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
}

可能有更好的解決方案,但這就是我現在正在使用的。 導航欄最初確實被遮蓋了,但這使它立即向后滑動:

- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller {
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM