Ich versuche, eine UITextField zu zentrieren und das ist mein Code:Zentrum ein UITextField
import SpriteKit
import GameplayKit
import UIKit
class GameScene: SKScene {
var sampleTextField = UITextField()
override func didMove(to view: SKView) {
let mainView = UIView(frame: CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height))
view.addSubview(mainView)
sampleTextField = UITextField(frame: CGRect(origin: mainView.center, size: CGSize(width: 200, height: 20)))
sampleTextField.placeholder = "Enter text here"
sampleTextField.font = UIFont.systemFont(ofSize: 15)
sampleTextField.borderStyle = UITextBorderStyle.roundedRect
sampleTextField.autocorrectionType = UITextAutocorrectionType.no
sampleTextField.keyboardType = UIKeyboardType.default
sampleTextField.returnKeyType = UIReturnKeyType.done
sampleTextField.clearButtonMode = UITextFieldViewMode.whileEditing;
sampleTextField.contentVerticalAlignment = UIControlContentVerticalAlignment.center
mainView.addSubview(sampleTextField)
}
}
Aber die UITextField nicht erscheint, weil ich denke, dass es außerhalb des Bildschirms ist, so wie könnte ich es Zentrieren in der Bildschirm?
Ich habe noch nie mit SpriteKit gearbeitet, aber verwenden Sie in Ihrem Code Autolayout? –
Nein Ich verwende kein automatisches Layout –
Vielleicht können Sie die Funktion didMove() überprüfen, setzen Sie einen Debug-Zeiger am Anfang der Funktion und überprüfen Sie die Größe des SKView, vielleicht zu der Zeit, dass diese Funktion aufgerufen wird, die SKView nicht war richtig angelegt. –