繁体   English   中英

如何在Swift中模仿Safari的搜索栏UI /动画?

[英]How can I mimic safari's search bar UI/animations in Swift?

我正在尝试在当前应用程序的iOS Safari中模仿下面的搜索栏行为: img

我主要希望导航栏在用户滚动内容时向上滚动至很小的版本,并在用户向上滚动时返回。

我试过使用scrollViewDidScroll,但似乎无法模仿它。 我不确定是否将搜索栏正确添加到导航栏中。

let searchBar: UISearchBar = {
    let sb = UISearchBar()
    sb.autocapitalizationType = .none
    sb.autocorrectionType = .no
    sb.keyboardAppearance = UIKeyboardAppearance.default
    sb.placeholder = "Search"
    return sb
}()

fileprivate func setupNav() {
    //Basic Setup
    navigationController?.navigationBar.isTranslucent = true
    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)

    //Search Bar
    searchBar.sizeToFit()
    navigationItem.titleView = searchBar
}

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    //Implement
}
let searchController                                  = UISearchController(searchResultsController: nil)
searchController.dimsBackgroundDuringPresentation     = false
searchController.searchBar.placeholder                = "Search"
searchController.searchResultsUpdater                 = self
navigationItem.searchController                       = searchController
definesPresentationContext                            = true 

将您的SearchController放在导航项中。 这将添加可折叠的SearchBar 另外,您可以尝试使用导航项Prompt在顶部显示非常小的标题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM