2016-01-05 60 views
0

您好我一直在关注上的Xcode 7.2一些教程,但是这对于那些迅速1.2 我认为它SWIFT 2.1 他使用的UITextField与spriteKit 但此行会导致错误 我已经用Google搜索,但找不到任何帮助 所以认为这是帮助欢呼添加到的UITextField精灵套件

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 */ 
} } 

回答

0

您似乎并未在任何地方初始化您的UITextField。 尝试加入这行来didMoveToView您设置的TextInput的帧之前:

self.TextInput = UITextField() 

只是要注意,在斯威夫特变量名应在驼峰(thisIsCamelCase)编写的,所以它可能是最好的变量重命名为textInput。我现在实际上无法在Apple文档中找到它,但是这个约定用于Apple所有示例代码中,并且由各种其他来源声明,例如,

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

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

+0

不是非常有帮助的,是吗?我尝试了同样的事情。我的'TextInput'被初始化。但没有添加视图,或者我无法在iPhone 5s上看到它。 – Boggartfly