所以我是斯威夫特的新手。我是通过视频教程一步一步学习它。然而,通过每一个教程,我尝试制作非常简单的应用程序来强化我正在学习的东西,并且我正在缓慢地前进,这样我就可以保留我正在学习的东西。
说到我的问题!我已经创建了一个非常简单的应用程序,它只不过是在图像上放置一个按钮,当按下按钮时,图像就会发生变化。然后按下重置按钮,它回到原来的图像。我想要的是用户按下按钮,然后进行图像更改,5秒后自动更改回原来的图像,“无重置按钮”让用户不得不按下。我怎么能做到这一点,以一个非常简单的方式?
如果我有几个按钮在屏幕上,所以我想要为每个按钮单独在这个时候,随着我了解更多,我将重新讨论这个项目,并学习创建一个单一的功能,我可以调用任何时候我想这样做,这样就可以创建更干净的代码。但跑之前我得走着。
好的,下面是我当前代码的样子。我该怎么把这个加进去?
@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
}那么,我该如何添加这段代码呢?
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
});发布于 2016-03-10 03:51:43
在您的按钮按下功能中这样的内容应该可以完成以下工作:
上一堂课,import Dispatch
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
});https://stackoverflow.com/questions/35907155
复制相似问题