Ich habe eine UILabel, die ich in der Mitte des Bildschirms angezeigt werden soll, unabhängig davon, auf welchem iPhone es gespielt wird!Platzieren UILabel in der Mitte des Bildschirms
Aber ich kann es nicht richtig machen! Es ist immer irgendwo anders, aber nicht in der Mitte.
was mache ich falsch?
Hier ist das Bild und der Code, was passiert!
class end: SKScene {
var label = UILabel()
override func didMoveToView(view: SKView) {
scene?.backgroundColor = UIColor(red: CGFloat(59.0/255.0), green: CGFloat(89.0/255.0), blue: CGFloat(152.0/255.0), alpha: CGFloat(1.0))
let w = UIScreen.mainScreen().bounds.width
let h = UIScreen.mainScreen().bounds.height
label = UILabel(frame: CGRect(x: w/2, y: h/2, width: 120, height: 30))
label.text = "REPLAY"
label.center = CGPoint(x: w/2, y: 2)
label.textColor = UIColor.whiteColor()
self.view?.addSubview(label)
Es ist einfach, zwei Einschränkungen in IB hinzuzufügen (mittleres Label horizontal und vertikal im Container). Aber warum brauchst du UILabel? UILabel wird zur Ansicht hinzugefügt, nicht zur Szene. Dies kann zusätzliche Handhabung (Beseitigung) erfordern, wenn zu anderen Szenen übergegangen wird. Es gibt einen SKLabelNode, der nicht so mächtig ist wie UILabel, aber es ist eine native SpriteKit-Komponente. – Whirlwind