2015-10-22 5 views
8

In meinem Projekt habe ich einen ViewController erstellt und eine Klasse als "AVPlayerViewController" erstellt, um Videos zu zeigen.AVPlayerViewController - Kein automatisches Layout - Einschränkungen können nicht gleichzeitig erfüllt werden.

Der Code funktioniert und ich kann die Videos sehen, aber ich bekomme einige Constraints Warnungen in der Konsole.

Mein Projekt arbeitet ohne AutoLayout und ich verwende AutoResizing. Ich habe den Code versucht:

self.view.translatesAutoresizingMaskIntoConstraints = false 

aber die Warnungen sind nicht weg und die Kontrollen des Video-Players Umzug in den oberen Rand des Bildschirms.

Es Warnungen sind:

Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSAutoresizingMaskLayoutConstraint:0x1475c4540 h=-&- v=-&- _UIBackdropContentView:0x147443880.width == _UIBackdropView:0x147436a30.width>", 
    "<NSLayoutConstraint:0x1475b38f0 H:|-(0)-[_UIBackdropView:0x147436a30] (Names: '|':UIView:0x1474368d0)>", 
    "<NSLayoutConstraint:0x1475b3980 H:[_UIBackdropView:0x147436a30]-(0)-| (Names: '|':UIView:0x1474368d0)>", 
    "<NSLayoutConstraint:0x1475b3650 H:|-(0)-[UIView:0x1474368d0] (Names: '|':AVAlphaUpdatingView:0x14744db30)>", 
    "<NSLayoutConstraint:0x1475b36d0 H:[UIView:0x1474368d0]-(0)-| (Names: '|':AVAlphaUpdatingView:0x14744db30)>", 
    "<NSLayoutConstraint:0x1475c7670 H:|-(15)-[UIView:0x1474435c0](LTR) (Names: '|':_UIBackdropContentView:0x147443880)>", 
    "<NSLayoutConstraint:0x1475c54d0 UIView:0x147443b40.right == _UIBackdropContentView:0x147443880.right>", 
    "<NSLayoutConstraint:0x1475c7a40 UIView:0x1474435c0.right == UIView:0x147443b40.left - 10>", 
    "<NSLayoutConstraint:0x1475c4da0 'UIView-Encapsulated-Layout-Width' H:[AVAlphaUpdatingView:0x14744db30(0)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x1475b3980 H:[_UIBackdropView:0x147436a30]-(0)-| (Names: '|':UIView:0x1474368d0)> 

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. 
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful. 

Jede Idee, was zu tun ist?

Antwort

5

Nach dieser Antwort Unable to simultaneously satisfy constraints Warnings with AVPlayerViewController embedded in storyboard scheint die Lösung ShowSplayBackControls auf dem PlayerController zu deaktivieren und dann der Ansicht hinzuzufügen.

Sobald Sie einen AVPlayer-Eintrag haben, können Sie die Player-Steuerelemente erneut anzeigen (vorausgesetzt, Sie benötigen sie).

Ich vermute, dass ein gültiges AVPlayer-Element benötigt wird, damit die Beschränkungen der Player-Kontrolle korrekt erfüllt werden.

Ich hatte genau dieses Problem und konnte es beheben, indem Sie diese Änderung vornehmen. Viel Glück!

0

Seltsamerweise erstellen Sie eine zweite Ansicht unter Ihrer Hauptansicht und fügen dann Ihre Player-Ansicht als Unteransicht hinzu.

Dieses Problem hat mich einen ganzen Tag vor einem Monat gelöst, und so wurde es gelöst. Sie müssen jedoch jeden Code entfernen, der Beschränkungen automatisch einschränkt.

+0

@Jamesh Ich habe versucht, mit dem gleichen Hinzufügen eines SUVView und PlayerView darin hinzuzufügen, aber der Fehler scheint der gleiche zu sein. Ich benutze xcode 8.2 und ios 10 jede Hilfe wird geschätzt. –

+0

Sie müssen beweisen, dass Sie das tun, indem Sie Beispielcode eingeben. –

0

Wenn Sie die Ansicht für Ihren Ansichtscontroller programmgesteuert erstellen, fügen Sie den AVPlayerViewController als untergeordneten Ansichtscontroller und seine Ansicht als Unteransicht in der Methode loadView() anstelle von viewDidLoad() hinzu. Sie müssen die Wiedergabesteuerelemente nicht ausblenden.

Verwandte Themen