Я программно добавляю вступительное видео для своего приложения. Я получаю следующие предупреждения. есть идеи, что я делаю не так? Я новичок в разработке Swift и iOS.
2018-04-19 13: 11: 56.295952 + 0200 [1779: 395252] [LayoutConstraints] Невозможно одновременно удовлетворить ограничения. Возможно, по крайней мере, одно из ограничений в следующем списке вам не нужно. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найдите код, который добавил нежелательное ограничение или ограничения, и исправьте его. ("", "", "(активные, имена: '|': UIStackView: 0x15dd29110)>", "", "(активные, имена: '|': UIStackView: 0x15dd29110)>")
Попытка восстановиться, нарушив ограничение
Сделайте символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы отловить это в отладчике. Также могут быть полезны методы из категории UIConstraintBasedLayoutDebugging в UIView, перечисленные в. 2018-04-19 13: 11: 56.296790 + 0200 [1779: 395252] [LayoutConstraints] Невозможно одновременно удовлетворить ограничения. Возможно, по крайней мере, одно из ограничений в следующем списке вам не нужно. Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете; (2) найдите код, который добавил нежелательное ограничение или ограничения, и исправьте его. ("", "", "", "UILayoutGuide: 0x1d41bd180'UIViewLayoutMarginsGuide '
(активный, имена:' | ': UIStackView: 0x15dd29110)>", "(активный, имена:' | ': UIStackView: 0x15dd29110) > ")Попытка восстановиться, нарушив ограничение
Сделайте символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы отловить это в отладчике. Также могут быть полезны методы из категории UIConstraintBasedLayoutDebugging в UIView, перечисленные в.
var movieController: AVPlayer?
let playerViewController = AVPlayerViewController()
override func viewDidLoad() {
playVideo()
}
func playVideo() {
let path = Bundle.main.path(forResource: appData.videoFile, ofType: appData.videoExtension)
let url = URL(fileURLWithPath: path!)
movieController = AVPlayer(url: url)
NotificationCenter.default.addObserver(self, selector:#selector(movieFinished),name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: movieController?.currentItem)
playerViewController.player = self.movieController
playerViewController.delegate = self
playerViewController.view.frame = self.view.bounds
playerViewController.showsPlaybackControls = false
playerViewController.videoGravity = "AVLayerVideoGravityResizeAspectFill"
playerViewController.view.translatesAutoresizingMaskIntoConstraints = false
playerViewController.player?.play()
self.view.addSubview(playerViewController.view)
}
@objc func movieFinished() {
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
UIViewController.attemptRotationToDeviceOrientation()
UIView.animate(withDuration: 1.5, delay: 0, options: .curveEaseIn, animations: {
self.playerViewController.view.alpha = 0.0
}, completion: { (finished: Bool) in
self.playerViewController.view.removeFromSuperview()
})
}
viewWillAppear
- person Lu_   schedule 19.04.2018playerViewController.view
- person Lu_   schedule 19.04.2018UIStackView
? - person user1046037   schedule 19.04.2018