ボタンのコックでフィールドのテキストを変更しようとしています ボタンが呼び出されてもラベルに古いテキストが表示されています。UIボタンで即時にラベルテキストを変更する
NSUserDefaultsを使用して値を保存すると、アプリケーションを閉じてからテキストフィールドの新しい値を表示する必要があります。
ユーザーがボタンを押すと、値が画面上で即座にリセットされますか?現在
GameViewControllerコード
import UIKit
import SpriteKit
class GameViewController: UIViewController {
@IBOutlet var resetText: UIButton!
@IBAction func ResetTextPreseed(sender: AnyObject) {
GameScene().changeText()
}
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return .AllButUpsideDown
} else {
return .All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
GameSceneコード
import SpriteKit
class GameScene: SKScene {
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
var text = "Hello, WOrld"
override func didMoveToView(view: SKView) {
/* Setup your scene here */
myLabel.text = text
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
self.addChild(myLabel)
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
func changeText(){
text = "I got changed"
myLabel.text = text
self.addChild(myLabel)
print ("The value of text is \(text)")
}
}
ありがとうございます。あなたのオプション1は機能しませんでしたが、2番目のオプションに向かいましたが、今ではUIViewを使用する代わりにすべてをSpriteKitに変換しています。 –
@Alexanderもしうまくいかないのなら、あなたはどこかでエラーがあるからです。それはうまくいくはずです、私はそれをテストしました。私たちがストーリーボードに別の設定をしているかもしれません...しかし、私が言ったように、私はオプション2をお勧めします。とにかくあなたが行く方法を決めたことを聞いてうれしい。これについてさらにご不明な点がございましたら、お気軽にお問い合わせください。 – Whirlwind