Estoy desarrollando una aplicación para iOS 7 en Objective-C. Tengo una pantalla en mi aplicación con algunos botones y una bonita imagen de fondo. (Es un xib simple con UIButtons
encima de a UIImageView
.)
Estaba pensando que sería genial si esos botones tuvieran el efecto de paralaje que tiene la pantalla de inicio de iOS 7, así que si inclinas el teléfono podrías ver el fondo.
¿Cómo puedo implementar ese efecto en mi propia aplicación?
ios
objective-c
swift
parallax
Dan Fabulich
fuente
fuente
Respuestas:
Con iOS 7, Apple introdujo
UIMotionEffect
para agregar efectos de movimiento que están relacionados con la orientación del dispositivo del usuario. Por ejemplo, para emular el efecto de paralaje en la pantalla de inicio, puede usar la subclaseUIInterpolationMotionEffect
, como se explica aquí y aquí , solo con unas pocas líneas de código.Objetivo-C :
Swift (Gracias a @Lucas):
Además, puede encontrar un montón de bibliotecas para hacer esto más fácilmente o para agregar esta funcionalidad a versiones anteriores de iOS:
fuente
Traducido a rápido en caso de que alguien sea vago. Por favor vote @veducm para responder si encuentra esto útil
fuente
La solución de @veducm puede ser un poco más corta. UIMotionEffectGroup para su movimiento xey es obsoleto si agrega los efectos de movimiento de los ejes x e y por separado.
fuente
type
deUIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis
y noUIInterpolatingMotionEffectTypeTiltAlongVerticalAxis
como está en el código establecidofuente
Aquí hay una categoría fácil para integrar el efecto en iOs7 +:
https://github.com/jvenegas/TLMotionEffect
fuente
UIMotionEffect proporciona una implementación de paralaje gratuita en iOS 7.
http://www.teehanlax.com/blog/introduction-to-uimotioneffect/
https://github.com/michaeljbishop/NGAParallaxMotion le permite configurar la intensidad de paralaje.
fuente
Esto ayudará a alguien que esté buscando implementar paralaje para tableView o collectionView.
Si desea implementar esto en collectionView, simplemente cambie el valor tableView a su variable collectionView
y eso es. No estoy seguro de si esta es la mejor manera. Pero funciona para mí. Espero que funcione para usted también. y avísame si hay algún problema
fuente
Realmente fácil de hacer, por eso se refiere a código complejo. solo inténtalo. Trabajando
Observe el tamaño exacto de la vista de la imagen. alfa predeterminado para el conjunto de vistas 0.
fuente
Traducción rápida:
fuente