[英]iOS13 - UITableView + UISearchController with custom hidesSearchBarWhenScrolling behavior
在 iOS 13 上,如果將hidesSearchBarWhenScrolling
設置為 true,視圖控制器將隱藏搜索欄,您必須向下滾動才能顯示它。 如果您將其設置為false
則它會立即顯示並且不會消失。
我認為這是一種合理的行為,假設最終用戶都熟悉 Apple 產品的工作方式。 鑒於情況似乎並非如此,我想在第一次訪問時顯示搜索欄,但是如果用戶開始向上滾動,搜索欄將被隱藏。 所以這是真/假的混合行為。
這適用於 iOS12,我在viewDidAppear
設置了hidesSearchBarWhenScrolling = true
,但現在在 iOS 13 上並非如此。 表格滾動,但搜索欄保持在頂部,而不是與表格視圖一起滾動(順便說一句,這只是因為屏幕沒有再次呈現)。
知道如何去做嗎? 我嘗試更改 tableview 的內容偏移量,但真的沒有運氣。
對我來說,它在viewDidLoad()
方法中添加以下行后起作用:
navigationController!.navigationBar.sizeToFit()
無需指定hidesSearchBarWhenScrolling
因為我認為默認情況下它是true
,但是如果您仍然看到搜索欄,那么您可以將其設置為true
以隱藏它。
我遇到了和你一樣的問題,看起來這個問題只出現在 iOS 13 中。 在 iOS 14 中,您的解決方案完美運行。 要使其在 iOS 13 中工作,您需要添加
self.navigationItem.hidesSearchBarWhenScrolling = true
self.navigationController?.view.setNeedsLayout() // add this line
在viewDidAppear
它適用於模擬器 iOS 13.7 我希望它也適用於你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.