Как разместить SKLabelNode поверх UISlider в SpriteKit - PullRequest
0 голосов
/ 04 февраля 2019

Я использую UISliders в своей игре SpriteKit.

Иногда я хочу приостановить игру и добавить некоторую информацию в SKLabelNode, но я не могу найти способ расположить SKLabelNode поверх UISlider..

Вот упрощенный пример.

   override func didMove(to view: SKView) {

let slider = UISlider(frame: CGRect(x: 100, y: 100, width: 300, height: 50))

let label = SKLabelNode(text: "Text Label should be on top of Slider")
label.fontColor = .red

label.verticalAlignmentMode = .top
label.position = CGPoint(x:160, y:self.frame.size.height - 110)


view.addSubview(slider)
self.addChild(label)

slider.layer.zPosition = 1
label.zPosition = 2

}

UISlider остается выше SKLabel :-(. Любая помощь приветствуется.

РЕДАКТИРОВАТЬ: В ответ на вопрос @ Muffinman2497 "Почему бы не использовать UILabel?"

Возможно, мне придется сделать это, но на самом деле я использую собственную многострочную метку, которая была разработана с использованием spriteKit и SKLabels. Поэтому я надеялся на простое изменение свойства, а не на перепроектирование.

Использование UILabel определенно работает, хотя.

 let myUILabel = UILabel(frame: CGRect(x: 50, y: 0, width: 300, height: 50))
myUILabel.text = "UILabel would like to obscure UISlider"
myUILabel.backgroundColor = .red
slider.addSubview(myUILabel)
slider.layer.zPosition = 1
myUILabel.layer.zPosition = 2
...