2015-05-17 11 views
19
moviePlayer = MPMoviePlayerController(contentURL: url) 
moviePlayer.view.frame = CGRect(x: 0, y:{layoutguide.height}, width: 
self.view.frame.width, height: 300) 
self.view.addSubview(moviePlayer.view) 

viewcontroller mają atrybut o nazwie "topLayoutGuide", ale wydaje się, że nie chciałem.Jak uzyskać wysokość topLayoutGuide?

wiem jak zaimplementować w serii ujęć, w kodzie, nie mogę dostać wysokości Top Układ Przewodnika. Szukałem godzin nic nie dostając.

enter image description here

enter image description here

Poniżej jest poszukiwany.

enter image description here

Odpowiedz

36

można uzyskać wartość topLayoutGuide jako length nieruchomości:

// Inside your viewController 
self.topLayoutGuide.length 

Ponieważ jest to pojedyncza wartość (czyli: nie mają wysokość i szerokość) po prostu nazwał go length . To samo dotyczy bottomLayoutGuide.

Nadzieja to pomaga

jeszcze jedno wspomnieć w doc jabłoni dla tej własności:

// Jako uprzejmości, gdy nie jest używany układ automatycznego, wartość ta jest bezpieczny w odniesieniu do -viewDidLayoutSubviews lub w -layoutSubviews po wywołaniu super-

użyć tej właściwości w tych dwóch funkcji będzie Ci dokładnej wartości, ponieważ układ został zainicjowany. Jeśli użyjesz go w funkcji viewDidLoad, ta właściwość będzie wynosić 0.

+0

Zwróć uwagę, gdy poprosisz o tę wartość. Oczywiście może się to zmienić po zmianie układu. –

+0

self.topLayoutGuide.length jest zawsze 0.0 –

+0

Kiedy o to pytasz? Prawdopodobnie w 'viewDidLoad' dostaniesz 0.0, ponieważ żaden układ nie został wykonany. W "viewDidAppear" możesz otrzymać inną wartość. –

8

Jeśli ktoś szuka sposobu obliczania wysokości wstawek narzędzia SafeLayoutGuide dostępnego dla systemu iOS 11, ponieważ Przewodnik układu górnego i dolnego jest obecnie przestarzały, można znaleźć to w:

view.safeAreaInsets 

Zauważ, że góry i od dołu Układ przewodnik były częścią ViewController, a teraz SafeLayoutGuide jest częścią głównej widzenia ViewController.

+0

Górne i dolne prowadnice układu są nadal częścią ViewController. – CoderNinja

+1

@CoderNinja tak, nie powiedziałem, że nie, powiedziałem, że są one nieaktualne w iOS 11. Może moje ostatnie zdanie było mylące, więc je zredagowałem. – Margaret

Powiązane problemy