// static readonly IntPtr selAccessibilityIdentifier_Handle = Selector.GetHandle ("accessibilityIdentifier"); // static readonly IntPtr setAccessibilityIdentifier_Handle = Selector.GetHandle ("setAccessibilityIdentifier:"); // public static UIView SetAccessibilityId(this UIView view, string id) // { // var intPtr = NSString.CreateNative (id); // Messaging.void_objc_msgSend_IntPtr (view.Handle, setAccessibilityIdentifier_Handle, intPtr); // NSString.ReleaseNative (intPtr); // return view; // } // // public static string GetAccessibilityId(this UIView view) // { // return NSString.FromHandle (Messaging.IntPtr_objc_msgSend (view.Handle, selAccessibilityIdentifier_Handle)); // } // public static UIBarButtonItem SetAccessibilityId(this UIBarButtonItem view, string id) // { // var nsId = NSString.CreateNative (id); // Messaging.void_objc_msgSend_IntPtr (view.Handle, setAccessibilityIdentifier_Handle, nsId); // NSString.ReleaseNative (nsId); // return view; // } public static UIView AddMotion(this UIView view, nfloat min, nfloat max) { view.AddMotionEffect ( new UIInterpolatingMotionEffect ("center.x", UIInterpolatingMotionEffectType.TiltAlongHorizontalAxis) { MinimumRelativeValue = new NSNumber (min), MaximumRelativeValue = new NSNumber (max) }); view.AddMotionEffect (new UIInterpolatingMotionEffect ("center.y", UIInterpolatingMotionEffectType.TiltAlongVerticalAxis) { MinimumRelativeValue = new NSNumber (min), MaximumRelativeValue = new NSNumber (max) }); return view; }
public static void ApplyMotionEffects(this UIView view, float horizontalRange = 10.0f, float verticalRange = 10.0f) { if (UIDevice.CurrentDevice.CheckSystemVersion(7, 0)) { UIInterpolatingMotionEffect horizontalEffect = new UIInterpolatingMotionEffect("center.x", UIInterpolatingMotionEffectType.TiltAlongHorizontalAxis); horizontalEffect.MinimumRelativeValue = NSNumber.FromFloat(-horizontalRange); horizontalEffect.MaximumRelativeValue = NSNumber.FromFloat(horizontalRange); UIInterpolatingMotionEffect verticalEffect = new UIInterpolatingMotionEffect("center.y", UIInterpolatingMotionEffectType.TiltAlongVerticalAxis); verticalEffect.MinimumRelativeValue = NSNumber.FromFloat(-verticalRange); verticalEffect.MaximumRelativeValue = NSNumber.FromFloat(verticalRange); UIMotionEffectGroup motionEffectGroup = new UIMotionEffectGroup(); motionEffectGroup.MotionEffects = new UIMotionEffect[] { horizontalEffect, verticalEffect }; view.AddMotionEffect(motionEffectGroup); } }
public static void ApplyMotionEffects(this UIView view) { int SystemVersion = Convert.ToInt16 (UIDevice.CurrentDevice.SystemVersion.Split ('.') [0]); if (SystemVersion >= 7) { UIInterpolatingMotionEffect horizontalEffect = new UIInterpolatingMotionEffect("center.x", UIInterpolatingMotionEffectType.TiltAlongHorizontalAxis); horizontalEffect.MinimumRelativeValue = NSNumber.FromFloat(-10); horizontalEffect.MaximumRelativeValue = NSNumber.FromFloat(10); UIInterpolatingMotionEffect verticalEffect = new UIInterpolatingMotionEffect("center.6", UIInterpolatingMotionEffectType.TiltAlongVerticalAxis); verticalEffect.MinimumRelativeValue = NSNumber.FromFloat(-10); verticalEffect.MaximumRelativeValue = NSNumber.FromFloat(10); UIMotionEffectGroup motionEffectGroup = new UIMotionEffectGroup(); motionEffectGroup.MotionEffects = new UIMotionEffect[] {horizontalEffect, verticalEffect}; view.AddMotionEffect(motionEffectGroup); } }