DynamicXray 是一个适用于 iOS 的 UIKit Dynamics 运行时可视化和内省库。
是否想查看 UIKit Dynamics 物理引擎的内部结构?现在您可以!使用 DynamicXray,您可以在运行时实时可视化您的动态动画器,显示所有动态行为和动态项。
DynamicXray 项目包括一组开源 UIKit Dynamics 示例库,所有这些示例都已在 DynamicXray 中集成。请参阅 DynamicXrayCatalog。
打开 DynamicXray.xcworkspace
,选择框架方案,构建框架。
如果成功,Finder 窗口应该会打开到 DynamicXray.framework
的位置。
将 DynamicXray.framework
添加到您的 iOS 项目中。
打开目标构建设置,搜索“其他链接器标志”,并添加 -ObjC
(如果尚未指定)。
在您的代码中,导入头文件并为您的动态动画器添加 DynamicXray 实例。
#import <DynamicXray/DynamicXray.h>
...
DynamicXray *xray = [[DynamicXray alloc] init];
[self.dynamicAnimator addBehavior:xray];
对于高级用户,框架脚本还将生成 DynamicXray.dylib
。dylib 可用于在运行时条件加载,或者注入到其他进程中等。
DynamicXray 实现为一个 UIDynamicBehavior。这意味着它可以简单地添加到任何 UIDynamicAnimator 中以启用内省覆盖。默认情况下,所有属于动画器的行为都将被可视化。
为了有更多的控制,DynamicXray 行为公开了诸如临时禁用覆盖、调整应用程序和覆盖之间的交叉淡变、是否绘制动态项轮廓等选项。请参阅 DynamicXray 头文件。
DynamicXray 包含一个内置的配置面板,可以从屏幕底部滑动上来。配置面板在运行时提供对一些选项的访问。通过调用 -[DynamicXray presentConfigurationViewController]
可显示配置面板。
例如
DynamicXray *xray = [[DynamicXray alloc] init];
[self.dynamicAnimator addBehavior:xray];
[xray presentConfigurationViewController];
简单、可控的集成。只需将 DynamicXray 行为添加到您的动态动画器即可。
可视化所有 UIKit 动态行为,包括碰撞边界。
可视化场景中的所有动态物体。
突出显示动态物体与其它物体或碰撞边界之间的任何接触。
可配置的覆盖交叉淡变控制,从所有应用程序可视到仅 DynamicXray 覆盖可视之间。
内置的用户控制运行时选项的配置面板。
包含的项目DynamicXrayCatalog是一个通用的iOS应用程序,其中包括一系列各种UIKit Dynamics演示。演示包括预加载的DynamicXray,因此可以在任何演示中启用内省,以查看内部工作原理。
DynamicXrayCatalog中的演示由不同的作者创建,且全部是开源的。
欢迎贡献!如果你想为DynamicXrayCatalog贡献一个演示,请提交一个pull请求。请确保你的演示包含启用DynamicXray的选项。
在YouTube上查看DynamicXray演示视频。
DynamicXray版权所有(C) Chris Miles 2013-2014,可在GPL-3.0许可证下使用。
DynamicXray图标和任何其他包含的艺术作品,版权所有(C) Chris Miles 2013-2014,并且只有在与DynamicXray库一起使用时,方可根据创意共享署名-非商业-禁止演绎4.0国际许可证 (CC BY-NC-ND 4.0)使用。
DynamicXrayCatalog版权所有(C) Chris Miles 2013-2014和其他人。DynamicXrayCatalog包含其他人版权的源代码,并包含在相应许可证的条款内。有关更多信息,请参阅包含的项目源代码。
DynamicXrayCatalog可在BSD (2-Clause) 许可证下使用,除非包含的源代码指定了其他许可证细节,那么该代码依然可在原始许可条款下使用。有关更多信息,请参阅源代码。