Параллакс Тени в iOS 7
Первоначально я искал ответ на этот вопрос, но прежде чем я смог его задать, мне пришло решение, и оно работает отлично.
В принципе, мой вопрос, под iOS 7 вы можете иметь теневой слой, который движется с параллаксом? Ответ - да, и вот как вы это делаете;
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.layer.masksToBounds = NO;
self.view.layer.cornerRadius = 2; // if you like rounded corners
self.view.layer.shadowOffset = CGSizeMake(1, 1);
self.view.layer.shadowRadius = 2;
self.view.layer.shadowOpacity = 0.5;
UIInterpolatingMotionEffect *verticalMotionEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"layer.shadowOffset.height" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
verticalMotionEffect.minimumRelativeValue = @(20);
verticalMotionEffect.maximumRelativeValue = @(-20);
UIInterpolatingMotionEffect *horizontalMotionEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"layer.shadowOffset.width" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
horizontalMotionEffect.minimumRelativeValue = @(20);
horizontalMotionEffect.maximumRelativeValue = @(-20);
UIMotionEffectGroup *group = [UIMotionEffectGroup new];
group.motionEffects = @[horizontalMotionEffect, verticalMotionEffect];
[self.view addMotionEffect:group];
}
Не особенно сложно.