2016-08-25 3 views
0

다음 코드는 textField를 두 드릴 때 키보드 맨 위에 UIToolbar를 추가하는 코드입니다.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)'를하면 Optional (, {103, 103})'을 얻습니다. 감사 –