Xcode 8 - 当用户点击背景时让键盘消失

7
我以前使用过这个。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)     
{
    self.view.endEditing(true)
}

但是在 Xcode 8 beta 中,我遇到了这个错误:

声明 touchBegan(touches:withEvent) 的参数名称与任何潜在的重写不同。

有什么想法吗?


你要构建哪个版本的iOS? - Droppy
touchBegan 还是 touchesBegan - Midhun MP
1个回答

12

这对我起作用:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    self.view.endEditing(true)
}

请注意函数参数中非常微妙的Swift 3更新。在The Swift Programming Language (Swift 3)的第20和21页上,他们解释道:

 

“默认情况下,函数使用它们的参数名称作为其参数的标签。在参数名称之前编写自定义参数标签,或者写_以不使用参数标签。”

:)


谢谢,我已经试图寻找那本书超过一个月了。它以前从未出现在我的iBooks中。你发布的链接对我来说是救命稻草。你能找到他们一直在谈论的iPad应用程序Playgrounds吗? - Jevon718
@Jevon718 蒂姆·库克在主题演讲中提到它已经可以在开发者预览版中使用了。你已经将你的iPad更新到iOS 10测试版了吗?顺便说一句,如果这个回答有帮助的话,请不要忘记将其标记为正确答案! :) - Lucas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接