gpt4 book ai didi

ios - 粒子发射器在屏幕上时无法单击 UIButton

转载 作者:行者123 更新时间:2023-12-04 08:49:49 25 4
gpt4 key购买 nike

使用粒子发射器时,无论位置如何,我都无法单击 UIButton。如果我在 viewdidload 中禁用粒子发射器功能,我就可以按下 UIButton (playButton)。
我已经尝试了 zPosition 和 Bringsubviewtofront。我完全没有想法。有什么想法吗?

import Foundation
import UIKit
import SpriteKit

class HomeMenu: UIViewController {

@IBOutlet weak var playButton: UIButton!

override func viewDidLoad() {
super.viewDidLoad()


//multiple emitters = multiple functions!
//just need to alter positions

// func bringSubviewToFront(_ view: self.playButton)

particleEmitter()


bringButtonToFront()


}

func bringButtonToFront() {
self.playButton.bringSubviewToFront(self.playButton)

}

func particleEmitter() {
let sk: SKView = SKView()
sk.frame = view.bounds
sk.backgroundColor = .clear
view.addSubview(sk)

let scene: SKScene = SKScene(size: view.bounds.size)
scene.scaleMode = .aspectFit
scene.backgroundColor = .clear

let en = SKEmitterNode(fileNamed: "SparkParticle.sks")
//position of emitter on 2d plane
en?.position = CGPoint(x:50, y:50)

scene.addChild(en!)
sk.presentScene(scene)
//zposition brought emitter to front of view to make visible
scene.zPosition = 10
}

@IBAction func playButton(_ sender: Any) {
performSegue(withIdentifier: "startGaneSegue", sender: self)
}


}
In the image, you can see the emitter is located at the bottom left of the screen, but the button is unclickable. Only when removing the emitter is the button clickable.

最佳答案

self.playButton.bringSubviewToFront(self.playButton)将按钮带到自己的前面(没有意义)!改为这样做:

func bringButtonToFront() {
self.view.bringSubviewToFront(self.playButton)
}

关于ios - 粒子发射器在屏幕上时无法单击 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64147977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com