En este último período he trabajado en tres aplicaciones para el iPhone de Apple, prácticamente de forma simultánea. Dos ya han sido aprobadas por Apple y se encuentran en la App Store: thefirst y iMakeLove .
En ambas aplicaciones han adoptado el uso de un objeto UIWebView para mostrar las instrucciones.
El objeto UIWebView ilevato era muy cómoda en este caso. Eso me permitió ver de forma rápida y un bonito texto, imágenes, y acompañado, si todo lo demás se muestra en una página Web (Flash en el iPhone no incluido).

El objeto UIWebView es muy versátil y las necesidades de configuración muy pocos para ser utilizado. El único defecto es la presencia de una misteriosa sombra que aparece al hacer un desplazamiento fuera del área de control está en la base que en la parte superior:

Después de varias búsquedas me di cuenta de que este comportamiento depende de la SDK, especialmente las últimas actualizaciones. Y Apple no ha publicado ningún comunicado oficial sobre la forma de eliminar, por el contrario, rechazó que el código no se permite una serie de hacks que hacen uso de funciones sensibles, o la documentación. Con el tiempo me di por vencido, tanto en términos de tiempo, y porque las soluciones parecía que todo fuera de la caja de Apple.
Afortunadamente tengo la solución, espero que con bastante frecuencia, lo que parece resolver el problema (gracias a Adolfo ):
1 2 3 4 5 6
| / / WebView es el control de UIWebView [ webView.subviews objectAtIndex : 0 ] ; id = scroller [webView.subviews objectAtIndex: 0];
UIView * subView in [ scroller subviews ] ) para (* UIView subvista en [scroller subvistas]) subView class ] description ] isEqualToString : @ "UIImageView" ] ) if ([[[subvista clase]] Descripción isEqualToString: @ "UIImageView"]) ; subView.hidden = YES; |
Como ha señalado Adolfo , sin embargo este es un truco que puede dejar de funcionar con futuras versiones del SDK.
Continuación ...
Después de explicar cómo localizar nuestras cuerdas en Xcode , es fácil ver ahora cómo - mediante la aplicación de la misma técnica - para localizar y ver las imágenes / interfaces creados con Interface Builder.
Localizar los recursos gráficos
El proceso, como se mencionó, es el mismo, si tenemos una imagen ya está incluido en nuestros recursos, o insertar una nueva, y nos quieren "ubicar" - es decir, para manejar dos o más imágenes en función de los idiomas soportados - simplemente haga clic en el botón imagen de la derecha ( Adium.png en este ejemplo) y seleccione Obtener información:

Crear archivo localizable hacemos clic en la parte inferior izquierda.

Nosotros, haga clic en Agregar e introduzca la localización Italian :

Con el fin de obtener:

esattamente come accadeva con il testo: Nuestra imagen se mueve (física, una de las raras ocasiones en que ocurre nell'alberatura Xcode se refleja en el sistema de archivos) en carpetas virtuales English.lproj y Italian.lproj tal y como sucedió con el texto:

contiene una stessa versione dell'immagine. En este punto, cada una de las carpetas English.lproj y Italian.lproj contiene la misma versión de la imagen. Esta imagen es manipulada en Interface Builder, donde podremos ver - por defecto - la versión en Inglés.
En este punto, sólo sobrescribir uno (o ambos archivos Adium.png ) para obtener una ubicación de las imágenes "flash".
Localice el XIB archivos
Incluso las interfaces construidas con Interface Builder se puede encontrar en su totalidad, cuando se considere necesario. ) con interfaccia XIB , lo selezioniamo, scegliamo Get Info dal menu contestuale, rendiamo il file localizzabile, aggiungiamo la localizzazione in italiano: El procedimiento es idéntico al realizado con las capacidades gráficas: agregar un ViewController (por ejemplo, infoViewController ) XIB interfaz, que se selecciona, elige Obtener información en el menú contextual, dan la localizable archivo, añadir la localización italiano:

Al hacer clic en Italiano o el italiano se abrirá Interface Builder! ) all'interno della classica cartella Classes . Esta vez, el sistema de archivos, te darás cuenta de que ha creado dos directorios ( English.lproj y Italian.lproj ) dentro de la carpeta de clases clásica. Ambos tienen sus archivos infoViewController.xib . La comodidad en este, resuelve con claridad en el código, y cuando vamos a una instancia de nuestro código de controlador vamos a tener una "limpia" de esta manera:
1 2
| [ InfoViewController alloc ] ; InfoViewController * info = [InfoViewController alloc]; info.view ] ; [Self.view addSubview: info.view]; |
Como puedes ver no hay ni rastro de cualquier declaración relativa a la ubicación, totalmente administrado por el sistema. Las dos interfaces, por supuesto, puede ser completamente diferente, como lo son en efecto como dos archivos separados XIB.
Continuación ...
Incluso en el tutorial más simples que usted puede encontrar el uso de protocolos. Sin duda, va a pasar a muchos en su controlador para utilizar un protocolo, escribir, junto a la definición de la interfaz, una declaración similar a:
1 2 3
| UIViewController <uiwebviewdelegate> { @ Interface myViewController: {UIViewController <uiwebviewdelegate> ... } |
Continuación ...
He tenido que arreglar un problema molesto en un blog de WordPress: los usuarios dejaron comentarios con frases largas. Esto produjo la publicación del texto, tanto en el backend, peor aún, en la portada. El efecto fue realmente horrible y para evitar la mano para moderar todos los comentarios individuales, la única solución era para filtrar hacia fuera - de alguna manera - la salida de los comentarios.
Continuación ...
Tal vez debería escribir "Muy, muy, fragmentos cortos", sin embargo, es una excelente y cómoda "truco" para mostrar lo que soy. Ejecución de los "dos" líneas de código se muestra a continuación, usted puede conseguir la salida de cualquier URL y manipularlo.
Continuación ...
Últimos Comentarios
Simon : Se molesta perturbado de nuevo y utilizar ese espacio para estas cosas ... sin embargo, no funciona ...
Giovambattista Fazioli : @ Simon: ¿qué puede ser debido a la sintaxis que utiliza, específicamente para PHP 5 +,...
Simon : He probado la noche anterior poner todo en functions.php, formas bien, jQuery, y las fichas que jQueryUI ...
Giovambattista Fazioli : @ Simon: Yo recomiendo la limpieza de ingresar un código como el de ...
Simon : @ Giovambattista Fazioli: Gracias por su paciencia, todo está claro ... ahora me siento ahora, ...