从UIUX那边总是会收到各种有趣的需求,这次收到的新需求为希望launch页面可以停止个几秒让指定的背景音乐播完再淡出进入主页,原本内建的launch页似乎比较难达成这个要求(假如可以请大神指导我,Thx),於是我查找了一些资讯,决定不用内建的launch页,直接建个新的viewcontroller来达成,背景音乐的部分.caf或.mp3都可以播放,这边是放进专案里,再来就是画面动画的部分可以限制需要几秒的动画,以搭配音乐共进退,来完成这个需求
首先,因为需要播放音乐须先引用多媒体库
import AVFoundation
然後因为是伪launch页,所以在viewDidLoad的地方就要先设定好音乐,要在此检查网路状态也是可以的
先建立播放器的实体
let player = AVPlayer()
然後抓取放在专案里的音乐档
override func viewDidLoad() {
super.viewDidLoad()
let fileUrl = Bundle.main.url(forResource: "launch", withExtension: "mp3")!
let playerItem = AVPlayerItem(url: fileUrl)
player.replaceCurrentItem(with: playerItem)
}
等到viewDidAppear时要同时出现画面与音乐
确认一下背景音乐的秒数决定动画要运行的时间
因为要淡出画面所以设定了self.view.alpha = 0
淡出後的处理是全萤幕跳转进另一个页面
期间伴随着背景音乐的播放
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIView.animate(withDuration: 3, delay: 3, options: .curveEaseInOut, animations: {
self.view.alpha = 0
}) { (finished) in
let storyBoard = UIStoryboard.init(name: "Main", bundle: nil)
if let vc = storyBoard.instantiateViewController(withIdentifier: "MainView") as? MainViewController {
vc.modalPresentationStyle = .fullScreen
self.present(vc, animated: true, completion: nil)
}
}
self.player.play()
}
When we talk of Netgear WiFi Extender Setup , our ...
App的效期一直是App开发者必须要面对的问题之一,来看看我做的小笔记~~ Apple开发者帐号登入...
devise是一套使用者认证(Authentication)套件,是Rails社群中最广为使用的一套...
上篇透过简单的 vue add 指令就完成了 BootstrapVue 安装和引入,其引入 boot...
注:本文同步刊载在Medium,若习惯Medium的话亦可去那边看呦! 今天我们要来介绍的是Matp...