我的UIToolBar不想使用整个屏幕的宽度。
我不使用任何TextField,但将工具栏添加为UIPickerView的子视图。
let toolBar = UIToolbar(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 50))
@IBAction func addDistanceToCollection(_ sender: UIBarButtonItem) {
createPickerView()
createToolBar()
}
func createPickerView() {
pickerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(pickerView)
pickerView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
pickerView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
pickerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
pickerView.addSubview(toolBar)
}
func createToolBar() {
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: nil)
let cancelButton = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: nil)
let flexibleSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
toolBar.sizeToFit()
toolBar.setItems([cancelButton, flexibleSpace, doneButton], animated: false)
}
我也试过使用pickerView.frame.width
作为工具栏宽度,但似乎不能解决这个问题。看起来宽度是我不能改变的常量值。
发布于 2020-07-19 05:23:45
也将约束设置为工具栏
func createPickerView() {
pickerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(pickerView)
view.addSubview(toolBar)
pickerView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
pickerView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
pickerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
toolBar.translatesAutoresizingMaskIntoConstraints = false
toolBar.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
toolBar.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
toolBar.bottomAnchor.constraint(equalTo: pickerView.topAnchor).isActive = true
toolBar.heightAnchor.constraint(equalToConstant: 50).isActive = true
}
https://stackoverflow.com/questions/62973653
复制相似问题