我需要当工具栏上的“完成”按钮(文本字段的附属 View )使键盘消失。
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 没有大小。
请您参考如下方法:
问题是错误的选择器:
dismiss
选择一个不带参数的方法。但是你的方法需要一个参数:
func dismiss(sender: UIBarButtonItem)
所以你的选择器必须是这样的:
dismiss:
例如
UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "dismiss:")
