Görüntü görüntüsü için paralaks efekti elde etmeye çalışıyorum. Paralaks etkisi için kod basittir ve sadece çalışır. UIImage
'u UIImageView
'a eklersek. Her iki tarafın da kendisini kirletmesi gereken bir desen resmim var.Desen görüntüsüyle paralaks efekti nasıl elde edilir?
UIColor
'un patternWithImage
yöntemini kullanmam gerekiyordu. Bu paralaksın çalışmasını yaptığımda, cihazı eğerken self.view
'un arka plan rengini görebiliyorum.
Burada bir koddur:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.backgroundImageView.contentMode = UIViewContentModeCenter;
self.backgroundImageView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"connect"]];
[self addParallaxEffectToView:self.backgroundImageView];
}
- (void)addParallaxEffectToView:(UIView *)view
{
// Set vertical effect
UIInterpolatingMotionEffect *verticalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.y"
type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
verticalMotionEffect.minimumRelativeValue = @(-50);
verticalMotionEffect.maximumRelativeValue = @(50);
// Set horizontal effect
UIInterpolatingMotionEffect *horizontalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.x"
type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
horizontalMotionEffect.minimumRelativeValue = @(-50);
horizontalMotionEffect.maximumRelativeValue = @(50);
// Create group to combine both
UIMotionEffectGroup *group = [UIMotionEffectGroup new];
group.motionEffects = @[horizontalMotionEffect, verticalMotionEffect];
// Add both effects to your view
[view addMotionEffect:group];
}
Kod Swift veya Objective-C olabilir. Herhangi bir yardım takdir edilecektir. Teşekkür
DÜZENLEME: itmek ve pop animasyonlar çalıştığınızda @Clafou öneri gereğince, garip bir görünüm alıyorum.
Bunu kontrol ettiniz mi: http://stackoverflow.com/questions/21544402/moving-an-image-with-ios-7-parallax-effect? Denemedim, sorununuzu çözüp çözmeyeceğini bilmiyorum. – Mrunal
Düzenlemenizle kafam karıştı! "İtip pop animasyonları yapmaya çalıştığımda" ile ne demek istiyorsun? Hareket halinde neler olduğunu göstermek için animasyonlu bir GIF ekleyebilir misiniz? – Clafou
Görünümlerinizi kök görünümün sınırları dışında genişletmek için değiştirdiyseniz, görünüm denetleyicisi geçişleri sırasında bu parçaları göstermemek için viewDidLoad uygulamasında self.view.clipsToBounds = true değerini ayarlamak isteyebilirsiniz. – Stefan