Skip to main content
 首页 » 操作系统

ios之UIBarButtonItem 按下时什么都不做

2024年01月01日53dudu

我需要当工具栏上的“完成”按钮(文本字段的附属 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:")