当前位置: 首页 > 知识库问答 >
问题:

在开始时迅速添加标签,并在按下按钮后删除它

蔚学林
2023-03-14

这款应用目前以黑色背景开始。我想要一个在黑色背景上写着“警告可能会导致癫痫发作”的标签,一旦屏幕被按下,标签就会消失。这真的很简单,但我是新手

import UIKit

class ViewController: UIViewController {
    let colors: [UIColor] = [
        .systemYellow,
        .systemGreen,
        .systemPurple,
        .systemPink,
        .systemRed,
        .systemBlue,
        .systemOrange,
        .magenta, .darkGray, .gray, .lightGray, .brown, .cyan
    ]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .clear
    
    }
    
    @IBAction func didTapButton() {
        let color1 = self.colors.randomElement()
        let color2 = self.colors.randomElement()
        
        self.view.layer.removeAllAnimations()
        self.view.backgroundColor = color1 /// set to color1
        UIView.animate(withDuration: 1/25, delay: 0, options: [.repeat, .autoreverse, .allowUserInteraction]) {
            self.view.backgroundColor = .black
            self.view.backgroundColor = color2// now animate to color2, reverse, then repeat
        }
    }
    
}

共有1个答案

范甫
2023-03-14

这是假设你按下的按钮有你描述的标签(从你过去的问题看像是案例)。

@IBAction func didTapButton(_ sender: UIButton) { //<-- Here
    sender.isHidden = true //<-- Here
    let color1 = self.colors.randomElement()
    let color2 = self.colors.randomElement()
    
    self.view.layer.removeAllAnimations()
    self.view.backgroundColor = color1 /// set to color1
    UIView.animate(withDuration: 1/25, delay: 0, options: [.repeat, .autoreverse, .allowUserInteraction]) {
        self.view.backgroundColor = .black
        self.view.backgroundColor = color2// now animate to color2, reverse, then repeat
    }
  }
}

如果它是一个不同的按钮/标签,您可以在@IBOutlet处与Interface Builder中的UIButton/UILabel挂钩,并使用.ishidden=true的相同技术来隐藏它。

 类似资料:
  • 所以我对Java Swing GUI是新手,我正在创建一个学生管理系统。这个想法是,当程序启动时,屏幕上的每个模块都有一个按钮,单击每个按钮会将您带到另一个包含模块信息的窗口。我想要一个能够添加和删除模块的功能,所以我的想法是,在运行时,您可以添加一个代表新模块的新按钮,或者在您想要删除该模块时删除一个按钮。 我已经尝试了许多不同的东西,但我遇到的问题最多的是我可以创建按钮,但我不能将其添加到框架

  • 问题内容: 有谁知道如何添加一个按钮来添加位于上一个创建的标签附近的新标签?如果不清楚我要说的是什么,只需查看浏览器中的标签和添加新标签的按钮即可;-)这正是我要管理的内容。 我正在使用MyFaces + PrimeFaces。 问题答案: 您可以用来显示基于某些bean集合的动态选项卡集。您可以将“添加”选项卡显示为选项卡集的最后一个选项卡。您甚至可以根据需要更改其样式。您可以使用挂钩标签更改监

  • 问题内容: 我希望在我的应用程序中有一个按钮,当按下该按钮时,将弹出此按钮(请参见下图)。我怎么做?我不想创建一个自定义共享活动,我只想要默认一个?我使用什么代码?在线上的所有教程都在Objective- C中。请尽快给出答案。 图片:http: //9to5mac.com/2014/06/30/hands-on-1password-beta-shows-off- ios-8s-touch-id-

  • 问题内容: 我正在尝试在控制器的导航栏中设置后退按钮图像,这是viewDidLoad()中的代码: 我试图将它们放到viewWillLoad中,但是得到了同样的错误 控制台出现错误消息: 我不知道哪一部分出了问题。似乎back_img不是nil,但我收到错误消息说它为nil 谢谢! 问题答案: 我已经研究了示例代码。1)在情节提要中创建一个条形按钮项。2)使用IBOutlet将按钮链接到控制器3)

  • 问题内容: 下面的代码正确返回该单元格: 但是在表视图中查找indexpath会崩溃: 我尝试了另一种方法,但是没有成功: 问题答案: 我不知道是否有简单的方法可以做到这一点。( 编辑: 实际上有。请查看@mustafa的第二个解决方案。)一种解决方法是将按钮的标签设置为in ,然后可以仅访问按钮的标签以找出按钮所属的行。 警告: 此解决方法很脆弱。如果您允许在不调用的情况下从表中添加或删除行,则