gpt4 book ai didi

ios - 导航项中的搜索 Controller 混淆行为

转载 作者:行者123 更新时间:2023-11-28 08:01:07 25 4
gpt4 key购买 nike

所以我的导航项上有一个搜索 Controller 。

// View controller
var searchController = UISearchController(searchResultsController: nil)

override func viewWillAppear(_ animated: Bool) {
tableView.reloadData()
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
}
if employeeSearchList.count > 10 {
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
} else {
tableView.tableHeaderView = searchController.searchBar
}
} else {
if #available(iOS 11.0, *) {
let search = UISearchController(searchResultsController: nil)
navigationItem.searchController = search
navigationItem.searchController = nil
} else {
tableView.tableHeaderView = nil
}
}
UIView.animate(withDuration: 0.50, animations: {
self.view.layoutIfNeeded()
})
}

这段代码运行完美。如果计数小于 10,则设置搜索 Controller ,否则将其设置为空搜索 Controller ,然后设置为 nil,使其从 UI 中消失。

func viewDidLoad() {
.
.
.
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.tintColor = tintColor

// Table view editing delegate -> delete operation
if employeeSearchList.count < 10 {
if #available(iOS 11.0, *) {
let search = UISearchController(searchResultsController: nil)
navigationItem.searchController = search
navigationItem.searchController = nil
} else {
tableView.tableHeaderView = nil
}
UIView.animate(withDuration: 0.50, animations: {
tableView.reloadData()
self.view.layoutIfNeeded()
})
}
.
.
.
}

现在我的问题是,当我在这个 View Controller 上方显示一个 View Controller 然后关闭它时,viewWillAppear 执行正常但搜索 Controller 没有显示。但是如果我按下 View Controller 然后返回,它就会出现。

这两种操作之间的主要区别是什么? (推送/弹出并呈现/解散)

最佳答案

应该是:

navigationController.navigationItem.searchController = searchController

代替:

navigationItem.searchController = searchController

后者只会在下次刷新/加载 navigationController 时生效/无论适当的术语是什么?

关于ios - 导航项中的搜索 Controller 混淆行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46684957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com