0
所以我有一個在背景中播放的視頻和淡入的兩個按鈕圖像。兩者都工作正常,但是在模擬器上啓動應用程序時,我看到按鈕在白色屏幕上的圖像,然後它進入播放視頻和動畫。我還在每張圖片的主要故事板上將alpha設置爲0。不知道這是一個模擬器/啓動屏幕毛刺或我的代碼。我的代碼如下,任何幫助表示讚賞。謝謝!UIButton圖像在動畫開始淡出之前出現在啓動畫面中
import UIKit
import Parse
import MediaPlayer
class ViewController: UIViewController {
@IBOutlet var loginAlpha: UIButton!
@IBOutlet var signupAlpha: UIButton!
var avPlayer: AVPlayer!
var avPlayerLayer: AVPlayerLayer!
var paused: Bool = false
override func viewDidLoad() {
super.viewDidLoad()
// code for background video
let theURL = NSBundle.mainBundle().URLForResource("test", withExtension: "mp4")
avPlayer = AVPlayer(URL: theURL!)
avPlayerLayer = AVPlayerLayer(player: avPlayer)
avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
avPlayer.volume = 0
avPlayer.actionAtItemEnd = AVPlayerActionAtItemEnd.None
avPlayerLayer.frame = view.layer.bounds
view.backgroundColor = UIColor.clearColor();
view.layer.insertSublayer(avPlayerLayer, atIndex: 0)
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "playerItemDidReachEnd:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object: avPlayer.currentItem)
}
func playerItemDidReachEnd(notification: NSNotification) {
let p: AVPlayerItem = notification.object as! AVPlayerItem
p.seekToTime(kCMTimeZero)
}
override func viewDidAppear(animated: Bool) {
signupAlpha.alpha = 0
loginAlpha.alpha = 0
UIView.animateWithDuration(1.5, delay: 1.0, options: [], animations: {() -> Void in
self.signupAlpha.alpha = 1.0
self.loginAlpha.alpha = 1.0
}, completion: nil)
avPlayer.play()
paused = false
}
override func viewDidDisappear(animated: Bool) {
avPlayer.pause()
paused = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
嘗試添加該viewDidLoad – alaphao
上線'signupAlpha.alpha = 0'和'loginAlpha.alpha = 0'我最初嘗試過,移動它,甚至複製它,它有相同的結果。有趣的是,我在主故事板中移動了按鈕,而且我在啓動屏幕上看到的圖像顯示了它們最初放置的按鈕,但是當應用程序經過代碼的其餘部分並運行視頻和動畫時按鈕是現在放置在主要故事板中的位置。 – PsYcHoSiD