我是编程的新手,也是Swift的新手,所以我需要帮助。
我想创建一个视图,其中图像将出现,然后在特定时间从屏幕上消失。时间将由标签和滑块指示。例如,当标签上显示5秒时,图像将出现,标签上的10秒后,图像将消失。 15秒后,将出现另一张图像,依此类推。这将持续60秒。此时间标签也将连接到滑块。如果可能,我想在代码中完全执行此操作
非常感谢任何关于实现这一目标的有效方法的建议。
答案 0 :(得分:0)
您可以使用UIImageView
,UILabel
,UISlider
和NSTimer
来实现此目的。确保将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)
}
}