2016-08-25 3 views
0

У меня есть следующий код, который добавляет UIToolbar в верхней части клавиатуры при нажатии textField.Как добавить фоновое изображение в UIBarButtonItem

Как добавить фоновое изображение к одной из кнопок?

Я пытался ...

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

, но он не работает, я получаю сообщение об ошибке ...

Использование неразрешенного идентификатора 'ImageName'

Код:

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 - Изображение myImage находится в Assets.xcassets.

ответ

1

Может быть, вы могли бы попытаться создать переменную UIImage, а затем передать, что просто быть более явным:

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

Я попробовал его, но он не работает, никаких ошибок он просто ничего не показывают , Я изменил высоту UIToolbar, я также попытался изменить индекс на 0, 1 и 2, но ничего. Если я делаю 'print (myImage)' Я получаю 'Необязательный (, {103, 103})', поэтому он выглядит так, что он нацелен на изображение, которое он просто не показывает. благодаря –