繁体   English   中英

辞去 SKScene 中的第一响应者 function

[英]Resign First Responder function in SKScene

我正在尝试创建一个需要在 SKScene 中创建文本字段的游戏。 我已经成功地构建了文本字段,但是把键盘放下是问题所在。 到目前为止,这是我的代码。

import SpriteKit
import GameplayKit
import UIKit

class GameScene: SKScene {
var sceneFrame : CGRect = CGRect()
var textFieldFrame : CGRect = CGRect()
var textField : UITextField = UITextField()
var skView: SKView = SKView()

override func didMove(to view: SKView) {
    sceneFrame = CGRect(origin: .zero, size: CGSize(width: 200, height: 200))
    let scene = SKScene(size: sceneFrame.size)
    scene.backgroundColor = UIColor.lightGray
    textFieldFrame = CGRect(origin: .init(x: 100, y: 200), size: CGSize(width: 200, height: 30))
    textField = UITextField(frame: textFieldFrame)
    textField.backgroundColor = UIColor.white
    textField.placeholder = "Phone Number"
    textField.keyboardType = .numberPad
    textField.resignFirstResponder()
    self.view!.addSubview(textField)
    self.view!.presentScene(scene)
    // Where to put the textField.resignFirstResponder() ?
}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
}

override func update(_ currentTime: TimeInterval) {
    // Called before each frame is rendered

}
}

任何答案都会有所帮助。

问题是您没有添加:

textfield.delegate = self

然后你可以调用 function:

func textFieldShouldReturn(textField: UITextField) -> Bool {   

    // Hides the keyboard  

    textField.resignFirstResponder()  
    return true  
}   

声明委托语句启动 function textFieldShouldReturn。

希望这可以帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM