首页 > 解决方案 > 使对象/图像在 Xcode 中随机出现和消失

问题描述

我必须让一个目标随机出现和消失,例如在 20 秒的空间内,但想先修复闪光灯。该对象以编程方式插入,只是一个带有碰撞的 png。当球击中它时,它会消失并添加分数。这部分已经有效。当前代码如下

生成敌人(是其他 4 个敌人的功能的一部分)

let enemy1 = UIImageView(image: nil)
        enemy1.image = UIImage(named: "enemy2.png")
        enemy1.frame = CGRect(x: w*0.85, y: h*0.035, width: w*0.12, height: h*0.22)
        self.view.addSubview(enemy1)

击中时得分加 1:

 collisionBehaviour = UICollisionBehavior(items:[enemy1])
    dynamicAnimator.addBehavior(collisionBehaviour)

    collisionBehaviour.action = {

        for boulderView in self.bouldersArray{
            if boulderView.frame.intersects(enemy1.frame){
                //enemy1.removeFromSuperview()
                if enemy1.superview != nil{
                        self.scoreCount += 1
                        self.scoreCountLabel.text = "Score: \(self.scoreCount)"
                        enemy1.removeFromSuperview()
                }
            }
        }
    }

它非常硬编码,请不要修复它。尝试了一个if语句让它在子视图中出现和消失,但它根本不起作用,只是疯狂地失败了。

标签: iosswiftxcode

解决方案


要使其消失,请将 alpha 属性设置为 0

enemy1.alpha = 0

要使其显示,请将 alpha 属性设置为 1

enemy1.alpha = 1

如果你想动画消失使用 UIView Animate 方法

   UIView.animate(withDuration: 0.3, delay: 0.5, options: .curveEaseOut, animations: {
        self.enemy1.alpha = 0
    }, completion: nil)

推荐阅读