2010-09-29 12 views
6

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?

+0

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? –

+0

¿Podría ser que utilicen un UIPageControll modificado para obtener la inercia horizontal? – Janco

+0

@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

Respuesta

3

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.

+0

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. –

+0

Creo que se podría hacer con stock UIPanGestureRecognizer y UISwipeGestureRecognizer; ellos son bastante poderosos. – hatfinch

-1

Supuestamente, el desarrollador aplanó un controlador de navegación en paneles deslizables. Sin embargo, no tengo conocimiento de otra información.

Original tweet

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.

+3

Digno de mención: ese tweet es solo un comentario conceptual de un tipo al azar, no cualquier tipo de información del desarrollador. –

+1

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. –

+1

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! –

0

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.

2

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
+0

El enlace está muerto. Proporcione una alternativa o elimine la publicación. – Marius

+0

Encontré un enlace a la página de github aquí: https://github.com/raweng/StackScrollView – Martin

3

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:

Cuestiones relacionadas