Image Swift:显示链接到计时器和滑块的图像

Image Swift:显示链接到计时器和滑块的图像,image,swift,timer,slider,label,Image,Swift,Timer,Slider,Label,我是编程新手,也是Swift新手,所以我需要帮助 我想创建一个视图,在该视图中,图像将在特定时间出现,然后从屏幕上消失。时间将由标签和滑块指示。例如,当标签上指示5秒时,图像将出现,标签上指示10秒后,图像将消失。15秒后,将出现另一个图像,依此类推。这将持续60秒。此时间标签也将连接到滑块。如果可能的话,我想完全用代码来做这件事 非常感谢您对实现此目的的有效方法提出的任何建议。您可以使用UIImageView、UILabel、UISlider和NSTimer来实现此目的。确保将NSTimer实

我是编程新手,也是Swift新手,所以我需要帮助

我想创建一个视图,在该视图中,图像将在特定时间出现,然后从屏幕上消失。时间将由标签和滑块指示。例如,当标签上指示5秒时,图像将出现,标签上指示10秒后,图像将消失。15秒后,将出现另一个图像,依此类推。这将持续60秒。此时间标签也将连接到滑块。如果可能的话,我想完全用代码来做这件事


非常感谢您对实现此目的的有效方法提出的任何建议。

您可以使用
UIImageView
UILabel
UISlider
NSTimer
来实现此目的。确保将
NSTimer
实例作为成员变量保存在
ViewController

例如,您的
视图显示将以默认间隔启动
NSTimer
(假设为5秒):

您的
ViewController
将如下所示:

import UIKit

class MyViewController : UIViewController
{
    // Connect these outlets via InterfaceBuilder
    @IBOutlet weak var imageView : UIImageView!
    @IBOutlet weak var label : UILabel!
    @IBOutlet weak var slider : UISlider!

    var timer : NSTimer!

    override func viewDidLoad()
    {
        super.viewDidLoad()            
        slider.addTarget(self, action: Selector("sliderValueChanged"), forControlEvents: .ValueChanged)
    }

    override func viewDidAppear(animated: Bool)
    {
        super.viewDidAppear(animated)
        self.startTimerWithInterval(5)
    }

    func sliderValueChanged()
    {
        let newValue = slider.value
        self.startTimerWithInterval(NSTimeInterval(newValue))
    }

    func timerDidFire()
    {
        // Do something with the imageView
    }

    private func startTimerWithInterval(seconds: NSTimeInterval)
    {
        if self.timer != nil { self.timer.invalidate() }

        self.timer = NSTimer(timeInterval: seconds, target: self, selector: Selector("timerDidFire"), userInfo: nil, repeats: true)
    }
}

你们能澄清一下滑块部分吗?嗨。谢谢你的回复。滑块的作用是直观地表示时间的流逝。当图像显示在屏幕上时,标签上显示的时间将计至60秒。滑块也将在屏幕上从0秒移动到60秒。我希望我的解释容易理解。我理解我的朋友。我试着回答你的问题。嗨,埃里克,谢谢你花时间为我写这段代码。这很有帮助。然而,当我把它输入Xcode时,我得到了两个错误。第一个错误不是行:override func VIEWDIDAPPERA(动画:Bool)错误为:“方法不重写其超类中的任何方法”第二个错误在行:self.startTimerWithInterval(newValue)上。此错误为:“float不能转换为NSTimeinterval”在这个问题上,任何额外的帮助都是非常好的。再次感谢您的帮助第一个错误可能是因为您的类没有继承自
UIViewController
。确保顶部有
import-UIKit
,这样Swift就可以找到苹果的框架。第二个错误是我的错误,我经常忘记Swift与Objective-C相比有多强。解决方案是使用
newValue
变量创建
NSTimeInterval
实例。我已更新我的解决方案以反映此更改。错误2正在运行。谢谢你。不幸的是,错误一仍然存在。如上所述,我已经导入了UIKit,但不幸的是,这并没有带来什么不同。