2011-01-14 17 views
31

Realmente quiero saber si hay una manera de obtener el fondo lino ligero de iOS. Esto es lo que parece: alt textiOS lino de luz de fondo?

¿Hay alguna manera de acceder a esto simplemente usando el SDK incorporado? ¿O tengo que encontrar una imagen como esta en alguna parte?


EDIT: que no querían utilizar las API privadas, por lo que aquí es lo que hice. Agarré la imagen de esta manera:

CGRect rect = CGRectMake(0.0f, 0.0f, 640.0f, 960.0f); 
UIGraphicsBeginImageContext(rect.size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetFillColorWithColor(context, [[UIColor underPageBackgroundColor] CGColor]); 
CGContextFillRect(context, rect); 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *imagepath = [documentsDirectory stringByAppendingPathComponent:@"underPageBackground.png"]; 
[UIImagePNGRepresentation(image) writeToFile:imagepath atomically:YES]; 

Y aquí está el resultado png en la resolución retina: (clic en la imagen para abrir)

click for full resolution

Hope esto es útil a alguien. :)

Respuesta

53

Utilice [UIColor underPageBackgroundColor]. Y aquí está un link con información útil y muestras.

+0

¡Muy bonito, nunca lo supe! ¿Me rechazará Apple si lo uso? –

+0

Por cierto, ese es un enlace maravilloso que proporcionó, gracias. –

+0

De acuerdo, no estaba al tanto de la wiki. Una buena referencia para saber de. – Dandy

3

Creo que debería poder encontrar este fondo en el SDK (debería ser el predeterminado para este tipo de función de "abrir página") o en google (intente buscar UIStockImageUnderPageBackground.png).

De lo contrario, parece un patrón. Lo que podría hacer es importar la captura de pantalla adjunta, luego cortar un poco sin las sombras y llenar un lienzo en blanco con ella, de modo que los lados coincidan formando el patrón original.

5

No estoy seguro de que sea exactamente el que está (me parece más oscuro) pero puede elegir "Desplazar Vista de color de fondo con textura" en Interface Builder. Para hacerlo, cuando seleccione un color, elija la casilla desplegable a la derecha en lugar del cuadro de color a la izquierda.

alt text

+0

Sí, ese es el oscuro que ya encontré. Quería la luz, pero gracias de nuevo por tu respuesta. –

+0

@ sha la respuesta fue correcta en el dinero. – fsaint

+1

otra opción sería elegir la más oscura y ponerla encima de una vista blanca. Luego, establezca el alfa del fondo con textura en algo de 0,8 a 0,9 y debería aclararse. (Y no tiene que usar una API privada ni una png) –

-1

Esto no es realmente una solución para obtener la imagen real, pero se puede hacer fácilmente con sólo la textura. Acabo de sacar un tutorial sobre cómo hacerlo en photoshop. iOS Linen tute here ¡De esta manera puede hacerlo de cualquier color que desee!

Cuestiones relacionadas