中心UILabel的工具栏中间上的键盘

0

的问题

我怎么能中心的一个标签,在中间的键盘的工具栏? 我可以得到的标签中间的键盘,但它没有为中心的正确

enter image description here

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() { }
ios keyboard swift toolbar
2021-11-23 19:11:13
1

最好的答案

0

我所要做的就是设置一个按钮左侧的工具栏的使用 UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: nil) 它设置的前景色清 invisibleDummyButton.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.clear], for: .normal)

func setToolBarOnKeyboard() {
    
    let toolBar = UIToolbar()
    toolBar.sizeToFit()
    
    let invisibleDoneButtonLeft = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: nil)
    invisibleDoneButtonLeft.setTitleTextAttributes([NSAttributedString.Key.foregroundColor : UIColor.clear], for: .normal)

    let flexibleSpaceLeft = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
    
    let middelLabelItem = UIBarButtonItem(customView: timerLabel)
    
    let flexibleSpaceRight = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
    
    let doneButtonRight = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissKeyboard))
    
    toolBar.setItems([invisibleDoneButtonLeft, flexibleSpaceLeft, middleLabelItem, flexibleSpaceRight, doneButtonRight], animated: false)
    
    textView.inputAccessoryView = toolBar
}

这里的图片的标签的集中正确

enter image description here

这里是图像的工具栏之前,我设定的是我设置的按钮左侧 .clear

enter image description here

2021-11-23 20:34:21

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................