我遇到的问题是,当标签应该锚定到安全区域布局指南时,标签却锚定到屏幕的底部边缘。这将使标签位于 iPhone 系列之上。
这是代码...
class CustomTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.tableFooterView = UIView(frame: .zero)
tableView.backgroundView = CustomBackgroundView()
}
}
Run Code Online (Sandbox Code Playgroud)
。
class CustomBackgroundView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupSubviews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func setupSubviews() {
let label = UILabel()
label.text = "Hello, World!"
label.textAlignment = .center
label.translatesAutoresizingMaskIntoConstraints = false
addSubview(label)
label.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true
label.bottomAnchor.constraint(equalTo: safeAreaLayoutGuide.bottomAnchor).isActive = true
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个UISearchController内心UINavigationBar.用户必须点击a UIBarButtonItem,然后我实例化一个新的UIViewController然后呈现它,以便开始搜索.
class ViewController: UIViewController {
var searchController: UISearchController!
override func viewDidLoad() {
super.viewDidLoad()
setupSearchController()
}
func setupSearchController() {
searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.delegate = self
searchController.searchResultsUpdater = self
searchController.searchBar.showsCancelButton = true
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
definesPresentationContext = true
navigationItem.titleView = searchController.searchBar
}
}
Run Code Online (Sandbox Code Playgroud)
我事先做了大量研究,但仍无法找到解决方案......
帮助使搜索控制器成为第一个响应者将非常感激.