swift – tvOS中意外的运动效应振荡

swift – tvOS中意外的运动效应振荡,第1张

概述我正在使用以下代码体验运动效果振荡 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, 我正在使用以下代码体验运动效果振荡

import UIKit  @UIApplicationMain  class AppDelegate: UIResponder,UIApplicationDelegate {      var window: UIWindow?      func application(application: UIApplication,dIDFinishLaunchingWithOptions launchOptions:                                                [NSObject: AnyObject]?) -> Bool {          self.window = UIWindow(frame: UIScreen.mainScreen().bounds)          self.window!.rootVIEwController = ExampleController()          self.window!.makeKeyAndVisible()          return true      }  }  class ExampleController: UIVIEwController {      overrIDe func vIEwDIDLoad() {          super.vIEwDIDLoad()          let redVIEw = UIVIEw(frame: CGRect(x: 200,y: 200,wIDth: 800,height: 500))          redVIEw.backgroundcolor = UIcolor.redcolor().colorWithAlphaComponent(0.5)          self.vIEw.addSubvIEw(redVIEw)          let effect = UIInterpolatingMotionEffect(keyPath: "center.x",type: .TiltAlongHorizontalAxis)          effect.minimumrelativeValue = -100          effect.maximumrelativeValue = 100          let effectGroup = UIMotionEffectGroup()          effectGroup.motionEffects = [effect]          redVIEw.motionEffects = [effectGroup]      }}

在Simulator和新Apple TV上导致以下行为

有没有办法避免振荡?

解决方法 我在模拟器中尝试了你的代码,打印水平偏移:

public class MyMotionEffect : UIInterpolatingMotionEffect {    public overrIDe func keypathsAndrelativeValuesForVIEwerOffset(vIEwerOffset: UIOffset) -> [String : AnyObject]? {        print("\(vIEwerOffset.horizontal)")        return super.keypathsAndrelativeValuesForVIEwerOffset(vIEwerOffset);    }}

过了一会儿,我可以重现振荡.生成的(水平)偏移量具有以下图表:

您可以看到倾斜中已经存在振荡.设备似乎一次产生两个倾斜.

一种解决方案是添加启发式方法(将偏移值与前两个进行比较并忽略是否存在符号更改,或忽略具有突然更改的偏移.不幸的是,这两种解决方案都不完美).最好的解决方案可能是直接使用Core Motion并完全避免本机转换.或者使用较小的距离,因为振动将不可见.

总结

以上是内存溢出为你收集整理的swift – tvOS中意外的运动效应振荡全部内容,希望文章能够帮你解决swift – tvOS中意外的运动效应振荡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1006317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存