tamaño resolucion plus fotos ios ios5 uibutton uiimage image-resizing

ios - tamaño - resolucion fotos iphone 7 plus



Cambiar el tamaño de la imagen usando capinsets (2)

Configuré un botón como este:

// Create facebook login button facebookLoginButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 20, 300,50)]; facebookLoginButton.autoresizingMask = UIViewAutoresizingFlexibleWidth; //NSLog(@"facebook button view height is %f",facebookLoginButton.bounds.size.height); //NSLog(@"facebook button view width is %f",facebookLoginButton.bounds.size.width); UIImage *facebookButton = [[UIImage imageNamed:@"FacebookLogin"] resizableImageWithCapInsets:UIEdgeInsetsMake(16,140,86,92)]; [facebookLoginButton setBackgroundImage:facebookButton forState:UIControlStateNormal];

He creado una imagen en Photoshop para el botón que es 200 (w) x100 (h) px. En primer lugar, ¿sería este el tamaño correcto para la imagen de retina utilizada en un iPhone4 / 5 para un botón que se ajusta al marco de inicio de sesión que tiene 50 de alto? El otro ancho no importa como estirado.

En segundo lugar, a continuación se muestra una imagen de ejemplo. Parece que no puedo encontrar las inserciones correctas para el ''resizableImageWithCapInsets: UIEdgeInsetsMake''. ¿Cómo soluciono esto? ¿Hay algún tutorial en algún lugar sobre cómo hacer esto, que no sea el ejemplo de Android que he visto vinculado desde SO.


Como está configurando el marco del botón explícitamente, y dado que está creando su propia imagen, no necesita una imagen redimensionable. Su botón es 300 por 50, por lo que debe crear una imagen de 300 por 50 (junto con una imagen de 600 por 100 para un dispositivo de doble resolución) y establecer la imagen de fondo del botón en ella.

Sin embargo, también daré un ejemplo de código. Para la imagen que usted realmente da, si lo nombra [email protected] para que se use como la imagen de doble resolución, el valor que desea usar es resizableImageWithCapInsets:UIEdgeInsetsMake(0,50,0,50) . Aquí está el resultado: