gpt4 book ai didi

ios - 如何添加约束以编程方式将两个 View 附加在一起?

转载 作者:行者123 更新时间:2023-11-28 13:53:57 27 4
gpt4 key购买 nike

我试图让我的 UISearchbar 和它下面的 UITableView 相互粘附。我已经尝试过 self.tableview.origin.y = self.searchbar.origin.y + self.searchbar.frame.height 之类的但没有成功。在不同的设备模拟器中运行时,tableview 只是附加在不同的 y 位置。我需要以编程方式完成此操作,因为我已经以这种方式创建了 TableView 。

image图片链接:https://ibb.co/T8jHLtz

func viewDidLoad(){
recentSearchesTableView.frame = CGRect(x: 0, y: 200, width: view.frame.width, height: view.frame.height)
recentSearchesTableView.delegate = self
recentSearchesTableView.dataSource = self
recentSearchesTableView.register(UITableViewCell.self, forCellReuseIdentifier: "RecentSearchCell")
recentSearchesTableView.tag = 202
recentSearchesTableView.isUserInteractionEnabled = true
recentSearchesTableView.tableFooterView = UIView()
}

编辑:结果 recentSearchesTableView.frame.origin.y = searchBar.frame.origin.y + searchBar.frame.height 适用于 iPhone X 以下的所有设备,但搜索栏和表格 View 重叠iPhone X 及以上 :/

最佳答案

向 TableView 添加搜索栏的最佳方法是使用 UISearchController

override func viewDidLoad() {
super.viewDidLoad()

// You may need this for presenting the search controller
definesPresentationContext = true

searchController = UISearchController(searchResultsController: nil)
searchController.obscuresBackgroundDuringPresentation = false
searchController.searchResultsUpdater = self
searchController.delegate = self
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
// navigationItem.hidesSearchBarWhenScrolling = false
} else {
tableView.tableHeaderView = searchController.searchBar
}
}

这将使管理搜索结果的逻辑和显示变得容易

关于ios - 如何添加约束以编程方式将两个 View 附加在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139462/

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