我本质上有一个菜单,其中显示了一堆按钮,每次单击其中一个按钮时,它都会导致相同的视图,该视图根据从菜单中选择的项目而以不同的方式显示,还有一个mp4正在播放。每次我进入其中一个项目(不同的视图)或返回菜单时,我的记忆都会增加并且永远不会下降,如果这有任何不同,视图会以模式呈现。我猜蠕变是由mp4引起的,我该如何解决这个问题?
import Foundation
import UIKit
import AVKit
import AVFoundation
class menu : UIViewController {
var info : AVPlayer?
var count = 0
@IBAction func instrumentas2(sender: UIButton) {
count = 2
}
@IBAction func instrumentas1(sender: UIButton) {
count = 1
}
@IBAction func instrumentas0(sender: UIButton) {
count = 0 }
override func viewWillAppear(animated: Bool) {
let videoURL: NSURL = NSBundle.mainBundle().URLForResource("info2", withExtension: "mp4")!
info = AVPlayer(URL: videoURL)
info?.actionAtItemEnd = .None
info?.muted = true
let playerLayer = AVPlayerLayer(player: info)
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.zPosition = 1
playerLayer.frame = CGRect(x:20.0, y: 703.0, width: 36.0, height: 36.0)
view.layer.addSublayer(playerLayer)
info?.play()
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "loopVideo",
name: AVPlayerItemDidPlayToEndTimeNotification,
object:nil)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
NSNotificationCenter.defaultCenter().removeObserver(self, name:AVPlayerItemDidPlayToEndTimeNotification, object: nil)
let du:display = segue.destinationViewController as! display
du.skaicius = count
}
func loopVideo() {
info?.seekToTime(kCMTimeZero)
info?.play()
}
}
我发布整个事情是因为老实说,我不确定是什么原因造成的。
这行代码:
view.layer.addSublayer(playerLayer)
正在添加子图层。 您是否曾经删除过它们?