首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按下按钮时更改图像,5秒后图像恢复为原始图像

按下按钮时更改图像,5秒后图像恢复为原始图像
EN

Stack Overflow用户
提问于 2016-03-10 03:42:48
回答 1查看 793关注 0票数 1

所以我是斯威夫特的新手。我是通过视频教程一步一步学习它。然而,通过每一个教程,我尝试制作非常简单的应用程序来强化我正在学习的东西,并且我正在缓慢地前进,这样我就可以保留我正在学习的东西。

说到我的问题!我已经创建了一个非常简单的应用程序,它只不过是在图像上放置一个按钮,当按下按钮时,图像就会发生变化。然后按下重置按钮,它回到原来的图像。我想要的是用户按下按钮,然后进行图像更改,5秒后自动更改回原来的图像,“无重置按钮”让用户不得不按下。我怎么能做到这一点,以一个非常简单的方式?

如果我有几个按钮在屏幕上,所以我想要为每个按钮单独在这个时候,随着我了解更多,我将重新讨论这个项目,并学习创建一个单一的功能,我可以调用任何时候我想这样做,这样就可以创建更干净的代码。但跑之前我得走着。

好的,下面是我当前代码的样子。我该怎么把这个加进去?

代码语言:javascript
复制
@IBOutlet weak var bkgrdImage: UIImageView!
@IBOutlet weak var yellowDesktopImage: UIImageView!
@IBOutlet weak var greenDesktopImage: UIImageView!
@IBOutlet weak var yellowExpanded: UIImageView!
@IBOutlet weak var greenExpanded: UIImageView!
@IBOutlet weak var yellowButton: UIButton!
@IBOutlet weak var greenButton: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func learnYellow(sender: AnyObject) {
        bkgrdImage.hidden = false


   yellowDesktopImage.hidden = true
    greenDesktopImage.hidden = true
    yellowExpanded.hidden = false
    greenExpanded.hidden = true
    yellowButton.hidden = true
    greenButton.hidden = true 
}

那么,我该如何添加这段代码呢?

代码语言:javascript
复制
imageView.image = newImage //change to the new image

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (Int64)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), {
    imageView.image = originalImage //change back to the old image after 5 sec
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 03:51:43

在您的按钮按下功能中这样的内容应该可以完成以下工作:

上一堂课,import Dispatch

代码语言:javascript
复制
imageView.image = newImage //change to the new image

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (Int64)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), {
    imageView.image = originalImage //change back to the old image after 5 sec
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35907155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档