2014-09-18 13 views
5

Ktoś zauważył, że self.view setFrame przestał działać z Nav Controller w iOS 8. Działa dobrze, jeśli kontroler widoku nie ma kontrolera nawigacji, ale poza tym , nie robi. Czy ktoś wie o pracy? Obecnie używamself.view setFrame nie działa z iOS 8 i kontrolerem Nav

[self.view setFrame:CGRectMake(0,-100,[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)]; 

Ale działa to robi już

Odpowiedz

0

ja nie wiem, czy setFrame uległa zmianie, ale mogę powiedzieć, że „granice” zmieniło się w iOS 8, w którym nieruchomość Granice UIScreen Klasa odzwierciedla teraz orientację urządzenia, więc szerokość i wysokość będą zmieniać się w poziomie.

iOS 8 oferuje nową właściwość nativeBounds na ekranie UIScreen, która nie zmienia się wraz z orientacją, ale należy pamiętać, że jest ona mierzona w pikselach, a nie punktach.

16

spróbuj ustawić "setTranslatesAutoresizingMaskIntoConstraints" YES przed ustawieniem Rama:

[self.view setTranslatesAutoresizingMaskIntoConstraints:YES]; 

a następnie ustawić ramki:

[self.view setFrame:CGRectMake(0,-100,[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)]; 
Powiązane problemy