2011-02-14 25 views
5

Tengo dificultades para obtener una página web con una imagen de fondo fija, por lo que la imagen no se mueve cuando la página se desplaza en un UIWebView.
Lo que he descubierto es: background-attachment: fixed no funciona en iOS4 (usando 4.2.1). volver a verificar He preparado una página con fragmento de código (abajo) en el interior <head> sección y la página funciona como se espera en Safari y Firefox en Mac, pero no lo hace en el Safari de iPhone ...Solución alternativa para 'background-attachment: fixed' que no funciona en iOS4

Qué hacer usted sugiere como una solución para lograr los resultados esperados? He hecho que mi UIWebView sea translúcida y agregué UIImageView, por lo que puedo ver una "imagen de fondo fija" en una página translúcida. Lamentablemente, puedo ver los bordes de UIWebView cuando me desplazo sobre sus bordes finales/iniciales.

¿Existe algún recurso/página web oficial de Apple que indique que background-attachment: fixed no está implementado para iOS4?

¡Salud!

P.S. El fragmento de código se hace referencia más arriba:

<style type="text/css"> 
body { 
    background: #ffffff url('image.jpg') fixed no-repeat; 
    background-attachment: fixed; 
} 
</style> 

Respuesta

1

no estoy seguro de lo que está pasando con el CSS y no han tenido la oportunidad de comprobarlo por mí mismo, pero sé que cuando yo estaba tratando de deshacerse de las sombras de a UIWebView Usé este código:

NSArray *sv = [NSArray arrayWithArray:[myWebView subviews]]; 
UIScrollView *webScroller = (UIScrollView *)[sv objectAtIndex:0]; 

NSArray *wsv = [NSArray arrayWithArray:[webScroller subviews]]; 

[[wsv objectAtIndex:6] setHidden:YES]; 
[[wsv objectAtIndex:7] setHidden:YES]; 
[[wsv objectAtIndex:8] setHidden:YES]; 
[[wsv objectAtIndex:9] setHidden:YES]; 

y eliminó las sombras. Pensé que obtuve la respuesta de una pregunta ASÍ, pero cuando lo busqué, this es el único que apareció.

Pasó la inspección de App Store.

+0

gran consejo! Funcionó y es una solución legítima :) Probado en iOS 4.2 (iPhone 4) y 3.1.3 (iPhone 3G). Lo único que puede estropear el programa es que Apple cambie algo en jerarquía de vistas, así que cambié el código un poco a esto: hice una para cada una de las subvistas y 'if ([subView isKindOfClass: [UIImageView class]])' es verdadera, Establecí la propiedad 'hidden' en true. Gracias Andrew! – matm

1

Utilice un div para el fondo con un índice z negativa:

<head> 
<style> 
#background { 
    background: url("background.jpg") no-repeat; 
    position: fixed; 
    top: 0; 
    left: 0; 
    background-size: 320px 480px; 
    width: 320px; 
    height: 480px; 
    z-index: -1; 
} 
</style> 
</head> 

<body> 
<div id="background"></div> 

This body text appears over the fixed background and scrolls. 

</body> 

Obras en iOS 5 y iOS 6.

+0

Esta fue una buena solución cuando todos los iPhones tenían la misma relación de aspecto. Pero ese ya no es el caso. ¿Alguna buena solución en todos los dispositivos iOS? – chadoh

Cuestiones relacionadas