TEAM LICENSES: Save money and learn new skills through a Hacking with Swift+ team license >>

SOLVED: Toolbar, button location

Forums > Swift

Hello good peeps. I've created a toolbar above my keyboard. Everything looks and works fine as it supposed to. But the done button appears on a left side of the toolbar. How can I align it to the right side? Many thanks for help

 private func configureKeyboardToolbar() {
        let bar = UIToolbar()
        let done = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(doneButtonTapped))
        bar.items = [done]
        bar.sizeToFit()
        inputAccessoryView = bar
    }

    @objc private func doneButtonTapped() {
        resignFirstResponder()
    }

2      

This is off the top of my head, so I hope it's right.

You need to add a flexibleSpace.

let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
let done = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(doneButtonTapped))
bar.items = [flexSpace, done]

3      

It works great! For those interested in a solution:

 func configureKeyboardToolbar(in textView: UITextView) {
        guard isEditable == true else { return }

        let bar             = UIToolbar()
        let flexibleSpace   = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
        let done            = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(doneButtonTapped))
        bar.items           = [flexibleSpace,done]
        bar.sizeToFit()
        textView.inputAccessoryView = bar
    }

     @objc private func doneButtonTapped() {
        resignFirstResponder()
    }

Also, do you happen to know why the same solution does not work for UITextField? Thank you

2      

Hacking with Swift is sponsored by String Catalog.

SPONSORED Get accurate app localizations in minutes using AI. Choose your languages & receive translations for 40+ markets!

Localize My App

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.