Existen muchos recursos relacionados con la codificación en el iPhone. La mayoría de ellos se refieren a "cómo hago X", p. "configurar un controlador de navegación" o "descargar texto de una URL". Todo bien y bien.Desarrollo de iPhone: patrones de diseño de aplicaciones
Lo que más me interesan ahora son las preguntas que siguen las cosas más simples: cómo estructurar mejor su interfaz de usuario compleja, o su aplicación, o los problemas comunes que surgen. Para ilustrar: un libro como "Beginning iPhone 3 Development" le dice cómo configurar una aplicación multi viewcontroller con un controlador de vista "switcher" superior que alterna entre las vistas propiedad de otros controladores de vista. Bien, pero solo se te dice cómo hacerlo, y nada acerca de los problemas que pueden surgir: por ejemplo, si utilizo su paradigma para cambiar a un UINavigationViewController, la barra de navegación termina demasiado baja en la pantalla, porque UINavigationViewController espera ser el UIViewController superior (aparentemente). Además, los métodos de delegado (por ejemplo, relacionados con los cambios de orientación) van al controlador de vista superior del conmutador, no al controlador real responsable de la vista actual. Tengo soluciones para estas cosas, pero se sienten como hacks lo que me hace infeliz y me hace sentir que me estoy perdiendo algo.
Una cosa productiva podría ser mirar algunos proyectos de código abierto de iPhone (ver this question). Pero aparte de eso?
actualización
Para aclarar: Supongo que lo que estoy preguntando podría resumirse como "Recetas y Gotchas para el desarrollo del iPhone". El tipo de cosas que son de interés para los desarrolladores, pero no están cubiertos en cualquiera de los libros de iPhone etc. que he visto, tales como:
Estoy escribiendo una aplicación para iPad y quieres una UISplitViewController presentó al usuario solo algunos del tiempo, que Apple parece estar diciendo que no puedo hacer. ¿Es posible? ¿Cómo?
Apple no me da una forma de estilizar mi aplicación de forma conveniente, en general (por ejemplo, ajustes de fuente, o colores). ¿Cómo puedo abordar el diseño de mi aplicación?
gestión de memoria no se hace más fácil por algunas de las inconsistencias en nombres de los métodos UIViewController (por ejemplo viewDidUnload es no lo contrario de viewDidLoad, a pesar del nombre). ¿Existe una forma consistente y fácil de arreglarlo y hacer que la administración de la memoria del controlador de vista sea menos propensa a errores?
¿Cómo puedo probar mis controladores de vista de manera consistente y fácil para que se comporten correctamente cuando aparece una advertencia de memoria? Es fácil simular una advertencia de memoria en el simulador, pero si se muestra la interfaz de usuario que deseo probar (y es un controlador de vista de nivel de hoja), no se descargará su vista porque está actualmente visible.
N.B. Realmente no estoy haciendo las preguntas anteriores aquí - ¡Creo que tengo respuestas decentes para ellas! - simplemente dando ejemplos de 'buenas' preguntas que ilustran esta pregunta stackoverflow.
que saben u puede ocultar las barras de controladores de navegación ... si está utilizando dos controladores de navegación y empujar uno en otro, usted tendrá que esconder una de sus barras de navegación .. – Daniel
y sí por desgracia a veces Es posible que la rotación de los controladores de vista no se active porque solo se invoca en el controlador de vista superior, pero puede registrarse para recibir notificaciones de rotación y comportarse como corresponde. – Daniel
Gracias Daniel. El problema al escuchar los eventos de rotación es que terminas manejando tu propia reorientación (incluida la traducción del sistema de coordenadas, etc.) y es un agujero infernal de conejo en el que no quiero volver a terminar (tenía que hacerlo una vez) . – occulus