簡體   English   中英

Swift ios11 NavigationItem SearchBar不會完全隱藏

[英]Swift ios11 NavigationItem SearchBar won't hide completely

在iOS11 / Swift 4中將搜索控制器添加到navigationItem時遇到問題。

基本上一切都按預期工作,大多數情況下,下拉將顯示搜索欄和搜索工作正常。 但是,當試圖通過向上滾動來隱藏搜索欄時...欄將不會完全隱藏並保持為細條(見下文)。

我已將我的搜索控制器聲明如下:

let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.scopeButtonTitles = ["All", "Samples"]
searchController.searchBar.delegate = self
navigationItem.searchController = searchController

之前(向下滾動以顯示搜索欄):

在此輸入圖像描述

之后(向上滾動隱藏):

在此輸入圖像描述

正如這個Apple論壇帖子所討論的那樣。

當此hidesSearchBarWhenScrolling值為true時,僅當滾動位置等於內容視圖的頂部時,搜索欄才可見,以防萬一您使用的是UIViewController,該視圖屬性是普通的UIView(它不是子類的UIScrollView中)。

相反,嘗試使用UITableViewController或ScrollView,它應該按預期工作

在我的情況下,只有當表中有少量項目時才會發生這種情況。 我找到了一個非技術性的,但只是在列表中有> 10個項目時顯示搜索欄的邏輯解決方案。 無論如何只有少數項目時無需搜索。

嘗試添加此功能

self.navigationItem.hidesSearchBarWhenScrolling = true

暫無
暫無

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

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