Avec iOS 7, Apple a introduit UIMotionEffect
d'ajouter des effets de Mouvement qui sont liées à l'orientation de l'appareil de l'utilisateur. Par exemple, pour imiter l'effet de parallaxe sur l'écran d'accueil, vous pouvez utiliser la sous-classe UIInterpolationMotionEffect
, comme expliqué ici et ici, juste avec quelques lignes de code:
// Set vertical effect
UIInterpolatingMotionEffect *verticalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.y"
type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
verticalMotionEffect.minimumRelativeValue = @(-10);
verticalMotionEffect.maximumRelativeValue = @(10);
// Set horizontal effect
UIInterpolatingMotionEffect *horizontalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.x"
type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
horizontalMotionEffect.minimumRelativeValue = @(-10);
horizontalMotionEffect.maximumRelativeValue = @(10);
// Create group to combine both
UIMotionEffectGroup *group = [UIMotionEffectGroup new];
group.motionEffects = @[horizontalMotionEffect, verticalMotionEffect];
// Add both effects to your view
[myBackgroundView addMotionEffect:group];
Aussi, vous pouvez trouver un tas de bibliothèques pour le faire plus facilement ou pour ajouter cette fonctionnalité à d'anciennes versions iOS: