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

时间:2015-03-15 21:21:58

标签: image swift timer slider label

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

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

非常感谢任何关于实现这一目标的有效方法的建议。

1 个答案:

答案 0 :(得分:0)

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

例如,您的viewDidAppear将使用默认时间间隔(例如5秒)启动NSTimer

您的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)
    }
}