IOS 7 के साथ, Apple ने UIMotionEffect
मोशन इफेक्ट्स जोड़ने के लिए शुरुआत की जो उपयोगकर्ता के डिवाइस के ओरिएंटेशन से संबंधित हैं। उदाहरण के लिए, होम स्क्रीन पर लंबन प्रभाव का अनुकरण करने के लिए, आप उप-वर्ग का उपयोग कर सकते हैं UIInterpolationMotionEffect
, जैसा कि यहां और यहां बताया गया है , कोड की कुछ पंक्तियों के साथ।
उद्देश्य-सी :
// 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];
स्विफ्ट (@Lucas के लिए धन्यवाद):
// Set vertical effect
let verticalMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.y",
type: .TiltAlongVerticalAxis)
verticalMotionEffect.minimumRelativeValue = -10
verticalMotionEffect.maximumRelativeValue = 10
// Set horizontal effect
let horizontalMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.x",
type: .TiltAlongHorizontalAxis)
horizontalMotionEffect.minimumRelativeValue = -10
horizontalMotionEffect.maximumRelativeValue = 10
// Create group to combine both
let group = UIMotionEffectGroup()
group.motionEffects = [horizontalMotionEffect, verticalMotionEffect]
// Add both effects to your view
myBackgroundView.addMotionEffect(group)
इसके अलावा, आप पुस्तकालयों का एक गुच्छा यह आसान करने के लिए या पुराने iOS संस्करणों में इस कार्यक्षमता को जोड़ने के लिए पा सकते हैं: