Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 手机与模拟器上的不同UITextField行为_Ios_Iphone_Swift_Sprite Kit - Fatal编程技术网

Ios 手机与模拟器上的不同UITextField行为

Ios 手机与模拟器上的不同UITextField行为,ios,iphone,swift,sprite-kit,Ios,Iphone,Swift,Sprite Kit,我有一个SKLabelNode,我正在使用一个不可见的UITextField更新它。因此,当用户在键盘上键入某个内容时,标签将更改为该字符串。下面的代码是我正在使用的。它在iOS模拟器中工作得非常完美,但是当我在手机上运行它时,每次我键入字符时,UITextField都是空的,因此字符串永远不会变长。我错过了什么 var inputTextField = UITextField(frame: CGRectMake(0, 0, 100, 30)) var inputTextLabe

我有一个SKLabelNode,我正在使用一个不可见的UITextField更新它。因此,当用户在键盘上键入某个内容时,标签将更改为该字符串。下面的代码是我正在使用的。它在iOS模拟器中工作得非常完美,但是当我在手机上运行它时,每次我键入字符时,UITextField都是空的,因此字符串永远不会变长。我错过了什么

    var inputTextField = UITextField(frame: CGRectMake(0, 0, 100, 30))
    var inputTextLabel = SKLabelNode(fontNamed:"Thonburi")


override func didMoveToView(view: SKView) {
    inputTextLabel.text = "";
    inputTextLabel.fontSize = 25;
    inputTextLabel.position = CGPoint(x:10, y:CGRectGetMidY(self.frame));
    inputTextLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left
    self.addChild(inputTextLabel)

    inputTextField.delegate = self
    inputTextField.hidden = true
    inputTextField.becomeFirstResponder()
    self.inputTextField.keyboardType = UIKeyboardType.ASCIICapable
    self.view?.addSubview(inputTextField)

}

func textField (textField: UITextField, shouldChangeCharactersInRange range:NSRange, replacementString string: NSString){
    var newString = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)
    inputTextLabel.text = newString
}

我想出来了,textField函数应该像这样返回bool

    func textField (textField: UITextField, shouldChangeCharactersInRange range:NSRange, replacementString string: NSString) -> Bool {
    var newString = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)
    inputTextLabel.text = newString
    return true
}