2012-10-10 16 views
5

Quiero actualizar mi aplicación a iOS 6. Entonces, ¿cómo establecer el tamaño de marco cómodo tanto para iphone 4 como para iphone 5?Cómo configurar el marco para iphone 4 y iphone 5 en ios6

+0

tengo la misma pregunta –

+0

Puede utilizar el diseño automático al crear su aplicación. Consulte el tutorial: http: //www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 –

+0

Please eche un vistazo a [esta pregunta] (http://stackoverflow.com/questions/12527517/what-is-the-best-way-for-supporting-both-screen-resolution-of-iphone4-and-iphone). Puede ser que ayude –

Respuesta

4

puedo usar Calcular el tamaño de la pantalla a continuación para ajustar la altura de la vista como el uso siguiente método

+(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; 

}

entonces estoy usando como

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

y así sucesivamente. Gracias por sus Respuestas

+0

Hola, ¿puede decirme qué es la altura en "[Altura de altura: 385]". –

0

u puede comprobar el dispositivo de tipo link o se puede comprobar si el marco de vista más amplio que el normal en el iPhone 4/4s continuación, cambiar el tamaño de su marco

nota: estoy utilizo el segundo camino y es un trabajo

1

siguiente comprobación de código para el iPhone 5 y otro dispositivo

#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

hay más de una forma de manejar la situación.

1> Una de ellas es utilizar el cambio de tamaño automático correctamente.

2> Otra forma es utilizar la nueva funcionalidad Auto Layout, pero de nuevo esto sólo será compatible con iOS 6.

3> Se pueden crear de distintas plumillas para cada vista una para iPhone 4 y iPhone 5 y dependiendo de qué dispositivo se esté ejecutando, puede cambiar los archivos .xib usados.

La mejor manera de hacerlo ahora es utilizar, auto ajustar el tamaño correctamente.

Para más se puede ir a través de estos

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 no funcionó tan bien para mí. Mi aplicación tiene varios elementos que deben espaciarse uniformemente.

Una solución de solución rápida (no es una buena práctica) es asignar coordenadas individualmente en la comprobación de altura de la pantalla. (Por cierto que es un buen tutorial. Shame Apple todavía no ha encontrado nada sustancial para IOS).

Si tiene varios elementos en la pantalla, entonces yo creo que tendrá que volver a su lugar de forma individual

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

Para una pantalla modal o flotante que aparece en el centro de la ventana, usted podría intentar esto:

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); 

Funciona tanto para 3.5 como para 4 pulgadas.

Cuestiones relacionadas