我需要在我的工具栏上的“完成”按钮(即文本字段的附件视图)中使键盘被解除。
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
var toolBar = UIToolbar()
var buttonOnToolbar = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "dismiss")
let arrayOfButtons = [buttonOnToolbar]
toolBar.items = arrayOfButtons
toolBar.barTintColor = UIColor.whiteColor()
textField.inputAccessoryView = toolBar
return true
}
func dismiss(sender: UIBarButtonItem) {
println("cacca")
}
该功能仅在试用时关闭,以查看单击按钮时是否发生了某些事情。但是当我按下它时没有任何反应。 而且工具栏,虽然我改变了他的颜色仍然是透明的。 怎么了?
编辑:解决了,UIToolbar没有大小。
答案 0 :(得分:3)
问题是错误的选择器:
dismiss
选择不带参数的方法。但是你的方法有一个论点:
func dismiss(sender: UIBarButtonItem)
所以你的选择器必须是这样的:
dismiss:
E.g。
UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "dismiss:")