将UITextField添加到sprite工具包

时间:2016-01-05 10:41:06

标签: uitextfield

嗨,我一直在关注一些教程,但这些教程适用于swift 1.2 我在Xcode 7.2上认为它的速度很快2.1 他使用带有spriteKit的UITextfield 但是这一行会导致错误 我用Google搜索但无法找到任何帮助 所以认为这是帮助欢呼的地方

self.view!.addSubview(TextInput!)

整个代码是

  

导入SpriteKit

class GameScene: SKScene
{    var TextInput:UITextField?

override func didMoveToView(view: SKView)
{

    let myLabel = SKLabelNode(fontNamed:"Chalkduster")
    myLabel.text = ""
    myLabel.fontSize = 15
    myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))

    self.addChild(myLabel)

    TextInput?.frame = CGRect(x: 200, y: 300, width: 100, height: 40)

    self.view!.addSubview(TextInput!)

    TextInput?.backgroundColor = UIColor.whiteColor()
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
   /* Called when a touch begins */

    for touch in touches
    {
    let location = touch.locationInNode(self)

    }
}

override func update(currentTime: CFTimeInterval) {
    /* Called before each frame is rendered */
} }

1 个答案:

答案 0 :(得分:0)

您似乎无法在任何地方初始化您的UITextField。 在设置TextInput的框架之前,尝试将此行添加到didMoveToView:

self.TextInput = UITextField()

需要注意的是,Swift中的变量名称应该用camel case(thisIsCamelCase)编写,因此将变量重命名为 textInput 可能更好。我现在无法在Apple文档中找到这个,但是这个约定在Apple的所有示例代码中使用,并且由其他各种来源说明,例如

https://github.com/raywenderlich/swift-style-guide

http://andybargh.com/variables-and-constants-in-swift/#Rules_for_Naming_Variables