Diseñar Páginas web para Iphone

El futuro del diseño web pasan por los dispositivos moviles, las estadísticas están ahí, un millón de dispositivos vendidos el primer fin de semana que salió el Iphone, en 2009 fueron vendidos alrededor de 45 millones de dispositivos, lo que querría decir que todos los españoles tendrían un iphone…

Debemos saber ciertas reglas cuando diseñamos para iphones, como que no se visualizan los elementos flash, disponemos de una resolución menor, el tamaño de imágenes no puede pasar de un tamaño específico, 320×480px. Las tipografías soportadas son American Typewriter, Arial, Arial Rounded MT Bold, Courier, Courier New, Georgia, Helvetica, Helvetica Neue, Marker Felt, Times New Roman, Trebuchet MS, Verdana y Zapfino.

Estas son solo algunas de las cuestiones básicas que os enseñaremos.

CARGAR CSS O WEB DISEÑADA ESPECÍFICAMENTE PARA IPHONE

El código para que detecte que la página se está viendo desde un iphone es el siguiente, se podría hacer bien que cargue una css específica o bien que cargue una web con programación específica para el dispositivo móvil.

Mediante Javascript:

?Ver código JAVASCRIPT
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
	if (document.cookie.indexOf("iphone_redirect=false") == -1) {
		window.location = "http://m.espn.go.com/wireless/?iphone&i=COMR";
	}
}

Mediante PHP:

if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {
	header('Location: http://yoursite.com/iphone');
	exit();
}

DEFINIR LA ESCALA DE VISUALIZACIÓN DE LA PÁGINA WEB
Cuando entramos en una web desde nuestro iphone y la vemos en pequeñito,es debido a que el desarrollador no ha insertado el código que indica el ancho de pantalla (width=device-width).

<meta name = "viewport" content = "
width = 1100,  <!-- Indicamos el tamaño inicial, por defecto es 980. El rango es de 200 a 10.000 -->
user-scalable = yes,  <!-- Indica si el usuario puede ampliar las fotos yes/no -->
initial-scale = 0.4,  <!-- Indica la escala inicial con la que entramos. -->
maximum-scale = 1 <!-- factor máximo de escala. El rango es de 0 a 10 -->
minimum-scale = 1 <!-- factor mínimo de escala. El rango esd de 0 a 10 -->
"/>

AÑADIR UN ICONO PERSONALIZADO DE LA PÁGINA WEB EN EL ESCRITORIO DEL IPHONE

Si lo que necesitamos es añadir un icono a la web, para que cualquier usuario la pueda agregar a favoritos en su dispositivo movil, tan solo tendremos que crear una imagen de 57px por 57px en formato .png. No tienes por qué añadir brillos o esquinas ya que el iPhone las añade automáticamente:

&lt;rel="apple-touch-icon" href="images/template/engage.png"/&gt;

DESACTIVAR AUTOAJUSTE DE TEXTO AL ROTAR EN SAFARI
Cuando giramos el iphone, safari por defecto autoajusta el tamaño del texto si lo que queremos es desactivar esta función tendremos que añadir las siguiente lineas en nuestra css.

html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
	-webkit-text-size-adjust:none;
}

APLICAR CSS ESPECIFICOS PARA EL IPHONE

Si lo que queremos es que se apliquen ciertos estilos solamente cuando se esté visualizando en un iphone, aplicando el siguiente código:

@media screen and (max-device-width: 480px){
	/* Todo el CSS para iPhone va aqui */
}

REDIMENSIONAR IMÁGENES AL ANCHO DE PANTALLA DEL IPHONE

Otro dato que tenemos que tener en cuenta cuando diseñamos páginas web para iphone es el tamaño de las mismas, ya que en este dispositivo móvil el ancho máximo es de 480px por lo que si es más grande se saldrá de la pantalla, con el siguiente código conseguiremos que se queden encajadas en la pantalla

@media screen and (max-device-width: 480px){
	img{
		max-width:100%;
		height:auto;
	}
}

FUNCIONES EXCLUSIVAS PARA IPHONE: LLAMAR Y MANDAR SMS
Uno de mis grandes descrubimientos han sido estas dos funciones ya que son específicas para usar en dispositivos móviles, y nos servirán para llamar directamente al pulsar o enviar un sms

<a href="tel:961111111">Llámame</a>
<a href="sms:961111111">Mándame un SMS</a>

APLICAR CSS SEGUN ESTE EN VERTICAL O HORIZONTAL
Con este script conseguiremos aplicar un css especifica según se esté visualizando horizontal o verticalmente.

?Ver código JAVASCRIPT
window.onload = function initialLoad() {
	updateOrientation();
}
function updateOrientation(){
	var contentType = "show_";
	switch(window.orientation){
		case 0:
	contentType += "normal";
	break;
	case -90:
	contentType += "right";
	break;
	case 90:
	contentType += "left";
	break;
	case 180:
	contentType += "flipped";
	break;
	}
	document.getElementById("div_identificativo").setAttribute("class", contentType);
}

DESACTIVAR BARRA DE TAREAS EN SAFARI

?Ver código JAVASCRIPT
window.addEventListener('load', function() {
	setTimeout(scrollTo, 0, 0, 1);
}, false);

ESTILO LINKS HOVER EN IPHONE

?Ver código JAVASCRIPT
var myLinks = document.getElementsByTagName('a');
for(var i = 0; i &lt;myLinks.length; i++){
   myLinks[i].addEventListener('touchstart', function(){this.className = "hover";}, false);
   myLinks[i].addEventListener('touchend', function(){this.className = "";}, false);
}
a:hover, a.hover {
	/* el efecto hover que sea*/
}

Entradas similares:

  • Verdaderamente util, gracias.
    Algunos los he usado en mi pagina web para el iphone, creo que le puede ser bastante util a la gente, sobre todo si se usa desde install0us.
    www . jabat.org / iphone

    JaBaT
    25 may, 2010

  • Me parece un “manual” genial. Muchísimas, me ha sido de gran utilidad. Saludos

    Quique
    24 jun, 2010

  • Hola, queria hacerles una consulta. Necesito crear una web para iphone y dentro un boton que al presionarlo permita guardar el acceso directo de la pagina y dejarlo con un icono al inicio del iphone. Ustedes saben como hacerlo ??? gracias.

    antonio
    7 oct, 2010

  • great! thks

    pacman
    15 feb, 2011

  • Esto tiene una pinta alucinante! justo lo que andaba buscando. Eres un crack :-)

    Joaquin
    23 feb, 2011

  • Mil gracias, te vas a ir al cielo.

    Cuichi
    23 feb, 2011

  • Muchas gracias, estoyempezando con mi web, y seria de gran utilidad, otra cosa, esto es solo para el iphone o hay manera de que lo tome cualquier disp movil?, o en otro movil se veran bien las webs?

    Javier
    5 mar, 2011