【发布时间】:2020-01-10 02:32:15
【问题描述】:
我正在使用 UITextField 让用户输入他的名字。这就是我将 UITextField 添加到游戏中的方式。
let firstPlayer:UITextField = UITextField()
firstPlayer.frame = CGRect(origin: CGPoint(x: (self.scene?.size.width)! * 0.21, y: (self.scene?.size.height)! * 0.2), size: CGSize(width: 200, height: 30))
firstPlayer.placeholder = "First Player Name"
firstPlayer.backgroundColor = UIColor.lightGray
firstPlayer.autocorrectionType = UITextAutocorrectionType.no
firstPlayer.keyboardType = UIKeyboardType.default
firstPlayer.keyboardAppearance = UIKeyboardAppearance.default
firstPlayer.delegate = self as? UITextFieldDelegate
firstPlayer.isHidden = true
view.addSubview(firstPlayer)
稍后我在需要之前取消隐藏文本字段。当我在模拟器中按下文本字段时,键盘会弹出。但是当我按下 Return 时,什么也没有发生。
我搜索了关于 sprite kit 的内容,但找到了关于 uikit 的所有内容。我尝试添加
func textFieldShouldReturn(_textField: UITextField) -> Bool {
self.view.endEditing(true); // or resignFirstResponder
return false;
}
到 GameViewController 或它的 viewDidLoad 或 willLayoutSubviews 但没有任何效果。 我无法理解如何在 sprite kit 中完成。
任何帮助都会非常感谢。
【问题讨论】:
-
textFieldShouldReturn被调用了吗? -
@rmaddy 是的,这就是我不明白我怎么能在精灵套件中调用它我们不能使用节点触摸或类似的东西
-
我认为您没有回答我的问题。如果你在
textFieldShouldReturn里面放了一个断点,然后敲回车键,textFieldShouldReturn是停在断点处吗?是还是不是? -
@rmaddy 不,它不会打印任何东西
-
那么textFieldShouldReturn是sprite kit中关闭键盘的方法吗?
标签: swift sprite-kit keyboard uitextfield