2012-10-10 9 views
5

Chcę zaktualizować moją aplikację do ios 6. tak, jak ustawić rozmiar ramki wygodne zarówno iphone 4 i iphone 5?Jak ustawić ramkę dla iphone 4 i iphone 5 w ios6

+0

mam to samo pytanie –

+0

Można użyć układu auto podczas tworzenia app.Link dla tutoriala: http: //www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 –

+0

proszę zajrzyj na [to pytanie] (http://stackoverflow.com/questions/12527517/what-is-the-best-way-for-supporting-oth-screen-resolution-of-iphone4-andphone). Może to pomoże. –

Odpowiedz

4

mogę używając Oblicz Przekątna następnie dostosować wysokość widoku jak przy użyciu następujące metody

+(CGFloat)heightOf:(CGFloat)heightValue{ 
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 

//NSLog(@"applciation Frame height = %f",applicationFrame.size.height); 
CGFloat heightRatio = (heightValue/480)*100; 

CGFloat height = (applicationFrame.size.height * heightRatio)/100; 
return height; 

}

następnie używam jak jak

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0,[Height heightOf:385], 320, 220)]; 

i tak. Dzięki za twoje odpowiedzi

+0

Witam, czy możesz mi powiedzieć, jaka jest wysokość w "[Wysokość heightOf: 385]". –

0

u można sprawdzić typ urządzenia link czy można sprawdzić, czy rama widok większy niż normalny w iPhone 4/4s następnie zmienić rozmiar ramki

uwaga: jestem używać drugi sposób i to jest praca

1

następujące sprawdzić kod na iPhone 5 i innych urządzeń

#define IS_IPHONE ([[[UIDevice currentDevice] model] isEqualToString:@"iPhone"]) 
#define IS_IPOD ([[[UIDevice currentDevice ] model] isEqualToString:@"iPod touch"]) 
#define IS_HEIGHT_GTE_568 [[UIScreen mainScreen ] bounds].size.height >= 568.0f 
#define IS_IPHONE_5 (IS_IPHONE && IS_HEIGHT_GTE_568) 

And check for more detail refer the question.

3

jest więcej niż jeden sposób radzenia sobie z sytuacją.

1> Jedną z nich jest prawidłowe użycie opcji automatycznej zmiany rozmiaru.

2> Innym sposobem jest użycie nowych funkcji Auto Układ, ale potem znowu to będzie obsługiwany tylko dla iOS 6.

3> Można utworzyć oddzielne stalówka dla każdego widoku jednym dla iPhone 4 i iPhone 5 i w zależności od tego, jakie urządzenie jest uruchomione, możesz zmienić używane pliki .xib.

Najlepszym sposobem na zrobienie tego jest użycie, automatyczna zmiana rozmiaru.

Więcej można przejść przez te

1>Supporting iOS 4.3 to iOS 6.0

2>What is the best way for supporting both screen resolution of iPhone4 and iPhone5 ? - Auto layout in only iOS6

0

AutoLayout nie wyszło mi tak dobrze. Moja aplikacja ma kilka elementów, które należy rozdzielić równomiernie.

Rozwiązaniem Quick fix (nie dobrą praktyką) jest przypisywanie współrzędnych indywidualnie do kontroli wysokości ekranu. (BTW to dobry samouczek, Shame Apple wciąż nie wymyślił nic istotnego dla IOS).

jeśli masz kilka elementów na ekranie, to wierzę, będziesz musiał ponownie umieścić je indywidualnie

CGFloat height = [UIscreen mainScreen].bounds.size.height; 
if(height==568.00){ 
self.imageName.frame = CGRectMake(x,y,width,height); 
... 
} 

Dla modalnego lub pływającego ekranu, który pojawia się w środku okna, można spróbować to:

self.imgBadgeArea.frame = CGRectMake(self.view.bounds.size.width/2- self.imgBadgeArea.bounds.size.width/2, self.view.bounds.size.height/2 - self.imgBadgeArea.bounds.size.height/2, self.imgBadgeArea.bounds.size.width, self.imgBadgeArea.bounds.size.height); 

Działa zarówno dla 3,5 jak i 4 cali.

Powiązane problemy