fs_tigre
fs_tigre

Reputation: 10748

How to add background Image to a UIBarButtonItem

I have the following code that adds a UIToolbar on the top of the keyboard when a textField is tapped.

How can I add a background image to one of the buttons?

I tried...

toolBar.items![1].setBackButtonBackgroundImage(clearButton, forState:.Normal, barMetrics:.Default) 

but it didn't work, I get error...

Use of unresolved identifier 'imageName'

Code:

func addButtonsToKeyboard(){
    let toolBar = UIToolbar(frame: CGRectMake(0, 0, self.view.frame.size.width, 50))
    toolBar.barStyle = UIBarStyle.Default
    toolBar.tintColor = UIColor.blueColor()
    toolBar.barTintColor = UIColor.grayColor()
    toolBar.items = [
        UIBarButtonItem(title: "Button1", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someFunction)),
        UIBarButtonItem(title: "Button2", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someFunction)),
        UIBarButtonItem(title: "Button3", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(someFunction))]

    toolBar.sizeToFit()

    toolBar.items![1].setBackButtonBackgroundImage(myImage, forState:.Normal, barMetrics:.Default)

    myTextField.inputAccessoryView = toolBar
}

BTW - The image myImage is located in Assets.xcassets.

Upvotes: 0

Views: 939

Answers (1)

Faisal Syed
Faisal Syed

Reputation: 931

Perhaps you could try to create a UIImage variable, and then pass that in just to be more explicit:

var myImage = UIImage(named: "myImage")
toolBar.items![1].setBackButtonBackgroundImage(myImage, forState:.Normal, barMetrics:.Default)

Upvotes: 1

Related Questions