Twitter para iPad presentó una nueva forma de navegar por el contenido. ¿Alguien tiene una idea de cómo se manejan estos paneles deslizantes? ¿Es uno grande UIScrollView
con un montón de UITableViews
en él? O un grupo de UIViewControllers
deslizándose uno encima del otro? ¿O algo mas? ¿Cuál es tu apuesta?Twitter para iPad UI - ¿Cómo funciona?
Respuesta
creo que el truco aquí no se encuentra en los tipos de vista utilizados, sino más bien en el posicionamiento y animador de ellos. Cuando varios paneles entran y salen, creo que están usando algo así como algunas animaciones de CAKeyframe que se activan a través de una implementación de UIGestureRecognizer.
para el desplazamiento vertical Están usando UIScrollView, pero para el desplazamiento horizontal, lo anterior es mi apuesta.
Todas las vistas de tabla son vistas de desplazamiento, por supuesto, por lo que no se necesita magia para obtener el desplazamiento vertical. Las animaciones son bastante simples (deslizar a la izquierda, deslizar a la derecha); duda que necesitaría animaciones de fotogramas clave. Pero el desplazamiento horizontal es bastante complejo. Probablemente * podría * hacerse con un reconocedor de gestos, pero casi con seguridad no con los de stock. –
Creo que se podría hacer con stock UIPanGestureRecognizer y UISwipeGestureRecognizer; ellos son bastante poderosos. – hatfinch
Supuestamente, el desarrollador aplanó un controlador de navegación en paneles deslizables. Sin embargo, no tengo conocimiento de otra información.
En cierto modo tiene sentido, que es básicamente una y la forma UINavigationController
se mueve arriba y abajo de los cambios de pila. En lugar de mostrar solo 1 UIViewController
a la vez, ahora se puede mostrar el número múltiple. Sin embargo, no puedo ayudar con la implementación exacta.
Digno de mención: ese tweet es solo un comentario conceptual de un tipo al azar, no cualquier tipo de información del desarrollador. –
Digno de mención: no es un comentario de un tipo al azar. Mike Rundle (flyosity) es un desarrollador de iOS muy conocido y respetado. Estoy seguro de que ha tenido sus razones para tuitear eso. –
No estaba impugnando su talento. Lo que quise decir es que él es un observador externo que habla de cómo se comporta la aplicación, no de alguien con conocimiento interno. Y, una vez más, está hablando de cómo funciona la aplicación conceptualmente (sí, es un controlador de navegación trazado de extremo a extremo), * no * cómo se logra en realidad en un nivel UIKit (que es lo que esta pregunta está haciendo). ¡Me encantaría leer las especulaciones de Rundle sobre eso! –
Supongo que es UIScrollView
para el movimiento horizontal, con el UIView
s detrás de la vista principal animado a mano, dependiendo de dónde se encuentre la vista principal. El UIScrollViewDelegate
proporciona muchos de los métodos necesarios para animar el fondo UIView
s.
Este es el buen ejemplo de cómo obtener una interfaz de usuario similar a Twitter para la aplicación ipad.
Check this link, es realmente impresionante !!!!!
Proporciona:
- cascada ve
- apoyo orientación
- efecto de rebote
Usando mi proyecto FRLayeredNavigationController en GitHub se puede desarrollar fácilmente interfaces de usuario muy similar a la aplicación de Twitter IPAD. También hay un blog post al respecto.
Si le interesa cómo funciona, basta con ver el código, que es de código abierto ;-). Básicamente usa la composición UIViewController
como se introdujo en iOS 5. Gestiona múltiples "Capas" que son UIViewController
s que usted proporciona. El movimiento de las capas se desencadena por un UIPanGestureRecognizer
y algo de lógica cuando mover qué capa. Se ve y se siente muy bien gracias al buen soporte de animación de iOS.
FRLayeredNavigationController
's API es bastante similar a UINavigationController
, por lo que es fácil de usar :-).Las muestras de mi proyecto EuroCopaInfo, que utiliza FRLayeredNavigationController:
En archivo StadiumsViewController.m
:
[self.layeredNavigationController pushViewController:wvc inFrontOf:self maximumWidth:YES animated:YES];
De AppDelegate.m
:
InfoCategoriesViewController *icvc = [[InfoCategoriesViewController alloc] init];
FRLayeredNavigationController *lnc = [[FRLayeredNavigationController alloc] initWithRootViewController:icvc configuration:^(FRLayeredNavigationItem *item) {
item.nextItemDistance = 49;
}];
self.window.rootViewController = lnc;
[self.window makeKeyAndVisible];
reloj también los vídeos de demostración/screenshots:
- 1. UI ¿Problema con kal calendar para ipad?
- 2. Twitter dinámico bootstrap tooltips para jQuery UI Slider
- 3. ¿Cómo funciona jquery ui tabs?
- 4. UIScrollView como la aplicación de Twitter para iPad
- 5. ¿Cómo funciona el sistema OAuth de Twitter?
- 6. ¿podemos usar jquery ui con twitter-bootstrap?
- 7. Twitter bootstrap .popover no funciona
- 8. Control deslizable del panel del iPad como twitter
- 9. jQuerymobile - Bloques y Splitscreen para iPad
- 10. Twitter Bootstrap Popovers no funciona para contenido generado dinámicamente
- 11. AudioServicesPlaySystemSound no funciona en el dispositivo iPad
- 12. Botón Twitter Bootstrap js no funciona
- 13. window.onbeforeunload no funciona en el iPad?
- 14. ¿Funciona el marco cocos2d en el iPad?
- 15. Twitter Bootstrap 2.1 - Modal no funciona correctamente
- 16. Python FTP para iPad
- 17. Twitter Bootstrap Carrusel auto ciclo no funciona
- 18. nav-collapse no funciona [Twitter Bootstrap]
- 19. Twitter Bootstrap no funciona con less.js
- 20. Lista desplegable de Twitter Bootstrap no funciona
- 21. ui: la repetición no funciona con Mapa
- 22. Jquery ui ordenable en serie no funciona
- 23. jQuery UI redimensionable no funciona en absoluto
- 24. JQuery UI datepicker gotoCurrent no funciona
- 25. jQuery UI Autocompletar autoenfoque no funciona
- 26. jquery ui sortable ('refresh') no funciona!
- 27. jQuery UI Datepicker - setDate no funciona
- 28. Cómo nombrar archivos gráficos para iPad 3
- 29. ¿Cómo comenzar a escribir aplicaciones para iPad?
- 30. Qt para iPhone/iPad?
Mi pregunta más importante: es el desplazamiento horizontal de una UIScrollView (inercia de forma gratuita!) Con un montón de código loca en la parte superior para poner en práctica las paradas de página y apilamiento? ¿O Loren implementó todo ese comportamiento desde cero? –
¿Podría ser que utilicen un UIPageControll modificado para obtener la inercia horizontal? – Janco
@Janco: UIPageControl es solo un elemento de UI. No puede hacer nada por sí mismo (excepto que responde a la pulsación derecha/izquierda, pero aún necesita conectarlo a un controlador). – samvermette