UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

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 Essential Developer

SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until April 28th.

Click to save your free spot now

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.