簡體   English   中英

iOS 7 + iPad:UISearchBar導致導航欄內容與狀態欄混合

[英]iOS 7 + iPad: UISearchBar causes navigation bar content to be mixed with status bar

這只發生在iPad上:

  • 將一個簡單的UISearchBar放在帶有UINavigationControllerUIViewController
  • [可選]設置條紋色調: self.navigationController.navigationBar.barTintColor = [UIColor clearColor];
  • 運行應用程序。
  • 點按搜索欄(觸發動畫)
  • 現在狀態欄與導航欄內容的頂部混合(即標題,按鈕)

點按之前: 在此輸入圖像描述

點擊搜索欄后: 在此輸入圖像描述

任何顏色都會出現問題,但在附帶的照片中使用[UIColor clearColor]可以更容易地看到問題。

任何解決方案都會很棒,雖然我更喜歡比每次隱藏導航欄標題和按鈕更優雅的東西。

編輯

只有在viewdidLoad使用以下代碼時才會發生此錯誤:

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;

我想我曾經遇到過同樣的問題。 如果您使用的是故事板,請檢查所有插座是否已設置:

在此輸入圖像描述

修復動畫...

我最終使用的解決方法:

- (BOOL)prefersStatusBarHidden
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
        return self.searchDisplayController.isActive;

    return NO;
}

這種方式,當用戶搜索它時隱藏狀態欄。

有完全相同的問題,修復結果是一行:

self.searchDisplayController.searchBar.translucent = NO;

我有同樣的問題。 以下代碼有效:

self.edgesForExtendedLayout = UIRectEdgeTop;

暫無
暫無

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

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