Comment puis-je centre une étiquette dans le milieu du clavier de la barre d'outils? Je peux obtenir le label dans le milieu du clavier, mais il n'est pas centré correctement
lazy var textView: UITextView = {
// ...
}()
lazy var dummyToolBarButton: UIButton = {
let button = UIButton(type: .system)
button.translatesAutoresizingMaskIntoConstraints = false
button.setImage(UIImage(named: "cogIcon"), for: .normal)
button.alpha = 0
button.sizeToFit()
return button
}()
lazy var timerLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "00:00"
label.font = UIFont.monospacedDigitSystemFont(ofSize: 15.5, weight: .regular)
label.backgroundColor = .clear
label.textColor = .gray
label.textAlignment = .center
label.sizeToFit()
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
setToolBarOnKeyboard()
}
func setToolBarOnKeyboard() {
let toolBar = UIToolbar()
toolBar.sizeToFit()
let invisibleDummyButton = UIBarButtonItem(customView: dummyToolBarButton) // alpha is set to 0
let flexibleSpaceLeft = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let labelItem = UIBarButtonItem(customView: timerLabel)
let flexibleSpaceRight = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissKeyboard))
toolBar.setItems([invisibleDummyButton, flexibleSpaceLeft, labelItem, flexibleSpaceRight, doneButton], animated: false)
textView.inputAccessoryView = toolBar
}
@objc func dismissKeyboard() { }