首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS高质量的动画实现解决方案——Lottie

,需要素材的大小可能要远远超过136k。...如果你将动画直接拖入到主工程下面,那么可以直接使用动画JSON文件名来进行动画的创建,方法如下: //直接从mainBundle中加载素材 + (nonnull instancetype)animationNamed...:(nonnull NSString *)animationName NS_SWIFT_NAME(init(name:)); 你也可以从自定义的Bundle或者使用其他方式来加载JSON文件: //从自定义的...initWithContentsOfURL:(nonnull NSURL *)url; 其实无论上面哪种方式加载动画,都是通过LOTComposition组件类实例化的,你也可以直接通过这个类来构建动画视图...nonnull NSNumber *)toFrame withCompletion:(nullable LOTAnimationCompletionBlock)completion; //播放指定帧区间内的动画

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS之深入解析Xcode 13正式版发布的40个新特性

    Mac Catalyst 模拟场景大小; 通过属性检查器为使用 Mac Catalyst 构建的应用程序指定 UIControl 对象上的工具提示; Interface Builder 现在支持 UIBarButtonItem.menu...中将占位符扩展为闭包时,代码完成使用闭包的参数名称而不是 ; Xcode 13 中的 Swift 语法高亮显示是即时且无闪烁的,无论是在文件之间进行编辑还是导航; 即使您的代码不完整或您的项目无法编译...,其闭包参数是 async throws; xcodebuild 现在支持将某些环境变量传递给测试运行器进程; XCTExpectFailure 函数现在包括用于自定义某些选项的 Swift 重载,而无需创建...自定义视图支持通过 tintColor 属性设置视图的色调颜色。这可用于将视图的颜色设置为每个轨道的不同颜色或匹配应用程序的外观。...格式化 API 现在可用,它们专注于格式并消除了创建、配置和缓存格式化程序实例的需要。每个 Formatter 类型都有一个格式化函数。这些函数具有允许配置和自定义样式的参数。

    8.8K40

    Ios常用第三方动画框架(三)

    VJDeviceSpecificMedia -如何根据设备选择不同尺寸的图片 可以通过设置不同尺寸设备的LaunchImage,来使得App适配这些设备,要是在不同不同尺寸设备上使用不同大小的图片,则需要在代码中一一判断...1.自定义动画。2.自定义滑动切换。3.自定义方向。4.撤销。 Koloda - 基于卡片的 Tinder-style 动画效果示例。精细绝人。...RazzleDazzle - 【IFTTT开源Swift编写的帧动画框架--RazzleDazzle】RazzleDazzle 是IFTTT开源的一个iOS帧动画框架,非常适用于APP初次使用时的介绍和引导信息...STLBGVideo - STLBGVideo让您的视图控制器的自定义backgroundvideo,实现说明1、实现说明2。 Advance.swift - 简单易用、功能强大的动画框架库。...在手势交互、帧动画、自定义动画及仿真类型将是不错的选择。 PanelDemo - 仪表盘,模拟汽车的车速仪表盘,一些简单的数学知识。

    9.2K30

    聚焦位置-选择您喜欢的位置放置虚拟物体

    右键单击视图控制器+ ARSCNViewDelegate并选择新建文件...。然后,选择Swift File,单击Next。将其命名为FocusSquare,然后创建。...两个名称之间的区别在于,类以大写字母F开头,而变量大小写为f。命名focusSquare的方法称为camel case,它是Swift中的标准命名约定。...let worldTransformColumn3 = worldTransform.columns.3 最后,将该位置指定给焦点方块。同时,它会随着相机的移动而更新。...但是这一次,我们将使用现有平面的范围,这意味着它将取决于平面的大小。原因是我们使用焦点方块告诉我们该点是否可以用作锚点,而不仅仅是用于查看目的。...然后,将viewCenter声明为视图大小的中间点,并将该点分配给screenCenter。

    2.4K30

    iOS OC swift 自定义 popover 泡泡

    ' 【注意】pod 版本,swift 3 支持,以 3....棕色区域是可以设置的 红色 底层箭头视图的边框 白色 底层箭头视图的背景颜色 蓝色 自定义内容区域,在此区域(contentView)可以添加希望展示的内容 加号按钮 模拟了 sourceView...防止内容覆盖圆角 targetSize: CGSize /// 需要展示内容的大小,此字段一定需要重新设置 /// 并且宽高大小加上 minScreenEdg contentInset 不能大于屏幕宽高...contentView: UIView /// 自定义内容请在此视图上增加 arrowView: KKPopoverArrowView 箭头视图 delegate: KKPopoverDelegate..., sourceView: UIView) /// 根据 sourceView 展示在指定视图中 /// - Parameters: /// - view: 添加到的视图,不传则添加到 window

    2.7K70

    Flutter 3.7更新详解

    我们与整个 Flutter 社区们继续在 Flutter 3.7 中优化了框架,包括创建自定义菜单栏和层叠式菜单、更好的国际化工具支持、新的调试工具以及其他功能和特性等。...在 macOS 上,你可以使用 PlatformMenuBar widget 来创建菜单栏,你的菜单栏将由 macOS 系统来渲染,而不是使用 Flutter。...从新版本开始,你可以在 Flutter 应用的任意位置创建自定义的上下文菜单,也可以自定义内置的上下文菜单。...此外,Flutter 引擎 不再上报 Dart VM 中的 GPU 图像的大小。...在我们的测试中,此更改省去了 widget 创建 GPU 常驻图像构建帧时的同步 GC 工作。 本次版本发布中,Flutter 引擎在动态更新应用状态至 Dart VM 方面有所进步。

    3.2K00

    Ask Apple 2022 与 SwiftUI 有关的问答(下)

    自定义布局Q:我经常想根据列表中最长或最短的文字来布置各种小组件。鉴于动态文本大小在应用程序运行时可能会发生变化,衡量给定字体的文本大小的最佳方法是什么?A:你好!我们新的布局协议支持这个功能。...任何自定义布局的完整实现都比我在这里的帖子中快速勾勒出来的要长,但总体思路是,你可以创建一个布局来查询其子级的理想大小并相应地对它们进行排序。...阅读 The SwiftUI Layout Protocol [11]了解如何创建自定义布局。创建从底部开始的滚动视图Q:我如何实现一个在底部对齐的滚动视图,在 macOS 上会不会有糟糕的性能?...因为这些使用并不有害,我们不希望开发者因为使用了新的编译器版本而处理一堆的警告。...A:你可以通过创建自定义 ViewModifier 来封装其中的一些代码。

    14.8K30

    iOS开发常用之 HUD 弹窗

    MMProgressHUD - 设置HUD出现和消失的方式(包括上下,左右,淡入淡出,放大缩小等等),设置HUD的内容(可以在HUD中加入帧动画,动态图片等等),设置HUD出现时的底部覆盖层颜色,等等...PreLoader的实现讲解 Toast-Swift - 高可定制易用的Toast弹出信息或通知用户界面组件类。 对话框 WCAlertView - 自定义的对话框。...TAOverlay - TAOverlay可以通过叠加层展示有用的信息,可自定义文本和背景色,添加阴影和模糊效果,以及更改字体大小或者用户自定义图片替换页面的图标。...CustomPopOverView - 自定义弹出视图,内容支持传一组菜单标题,也支持自定义view,或者自定义viewController,支持任意按钮触发,会显示在按钮底部,也支持切换按钮的对齐方式...TBActionSheet.swift - 支持Carthage,可自定义度100%的ActionSheet,支持微信样式。

    4.3K20

    XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

    image 自定义 Xcode 环境可以配置,几乎可以满足所有工作流程,包括诸如标签、行为和代码段的自定义功能。 ? image 标签 使用标签为项目创建独一无二的视图。...结合标签,您可以为自己的编辑、设计、构建或调试任务创建自定义工作环境。自定义行为还可通过单一的组合键,彻底重新排列您的窗口。 代码段 代码段库中有数十种预配置代码实现方式,比如定义新类或方法。...Xcode 包括以下 Storyboard 控制器: 表格视图控制器 集合视图控制器 导航控制器 标签栏控制器 页面视图控制器 GLKit 视图控制器 或自定义 Assistant 编辑 Storyboard...自动布局基于这样一种概念:界面中的每个对象均可定义约束条件,用于控制其对父视图和其他界面控件的响应。例如,当显示不同语言时,可以让按钮优先保持特定大小或扩展以容纳更大的文本。...OpenGL 帧捕捉 只要按下一个按钮,即可对 iOS 设备中的当前 OpenGL 帧捕捉其完整的表现。Xcode 显示着色器的信息,还可以直观地构建帧在 Xcode 调试器中组合的方式。

    8.3K30

    玩转 Xcode Playground(上)

    在 Swift Playgrounds 中创建 Playground 项目 在 Swift Playgrounds 4 中可以直接创建与 Xcode 兼容的 Playground 项目(.playground...此种方式在不希望反复执行长耗时代码段的情况下将非常有用(例如机器学习)。 Swift Playgrounds 没有提供设置执行结束位置的功能,但提供了单步执行的设定。...如何创建自定义 QuickLook 苹果已经为不少的系统类型提供了 Playground 下的 QuickLook 支持。...如何创建实时视图 你可以使用实时视图来为 Playground 添加互动性,试验不同的用户界面元素,并建立自定义元素。...通过导入 PlaygroundSupport 并将当前页面的实时视图设置为你的自定义视图或视图控制器,就可以将一个交互式实时视图添加到 Playground Page 中。

    4.1K20

    WWDC 23 ,SwiftUI 5 和 SwiftData 的初印象

    全新的数据流声明和注入方式 利用 Swift 5.9 的新特性,对于引用类型的 Source of truth,只需使用 @Observable 进行标注,视图将对数据源的变化以属性为粒度进行响应。...本次升级带来了动画完成回调、阶段性动画、关键帧动画、全新的 Transition 协议( 支持转场状态 )、全新的 Shape 协议( 支持 Shape 之间的运算 )、全新的 TransactionKey...,直接定位到滚动视图的特定位置,只能使用一次 )、全新的滚动条控制( 闪烁 )、可自定义行视图在滚动区域的顶端和显示区域的显示状态( 例如可用其实现类似 watchOS 中的滚动到顶端子视图缩小的视觉效果...SwiftData 本质上就是一套官方推出的,基于 Swift 5.9 新功能实现的 Core Data 的 Swift 封装库。...这是我目前整理的一些有关 SwiftData 的问题和注意事项( 原文发表在推文中,没有进行更系统的归纳): 尚不支持公共和共享数据的云同步 在当前版本中,通过其他上下文(ModelContext)创建的数据并不会自动合并到视图上下文中

    1.1K20

    SwiftUI 动画进阶 — Part4:TimelineView

    两者之间的唯一区别是,一个写在内容闭包中,而另一个被放在单独的视图中以提高可读性。...尽管你可以以这种方式创建 Timeline: Timeline(EveryMinuteTimelineSchedule()) { timeline in ... } 自 Swift 5.5 和...因此,你可以定义一个具有动画类型的枚举,而不是在数组中包含 Animation 值。稍后在你的视图中,你将根据动画类型创建动画值,但使用偏移值的持续时间对其进行实例化。...也就是说,我们被迫为每个动画指定持续时间,但是,它更灵活,因为我们可以自由使用与偏移量不匹配的持续时间。...然而,当使用这种新方法时,你可以轻松地添加一个可自定义的因素,这可以让你减慢或加快动画速度,而无需触摸关键帧。

    3.8K30

    Apple 新品发布会亮点有哪些 | Swift 周报 issue 61

    目前,Swift 的局限性需要繁琐且容易出错的技术,例如手动创建具有特定元素数量的结构体,并使用不安全的操作进行索引。...自定义 URL 方案:Lokesh 引入了一个新的自定义 URL 方案 (sourcekit-lsp\://),用于编码生成任何形式内容(特别是 Swift 宏展开)所需的数据。...汇编级别的考虑:一些开发者希望使用更少的寄存器来表示类型(例如,2 个寄存器而不是 4 个),以实现代码大小和性能上的微小提升。然而,对于大多数开发者来说,这些问题微不足道,不值得过多关注。...这一过程是 Swift 并发能力的一部分。如果你的代码没有这些挂起点(即没有 await 调用),函数将从头到尾执行而不暂停。在这种情况下,线程将被“阻塞”在当前任务上,无法进行其他工作。...过去,Swift 的错误抛出机制无法显式指定可能抛出的错误类型,开发者需要手动检查函数实现以了解错误类型。

    12710

    UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

    当创建animator的实例时,将传入animator用于定义其坐标系的参考视图。 UIGravityBehavior模拟重力的行为并对一个或多个项目施加作用力,可以建模物理交互。...当创建一个行为的实例时,将它与一组项目相关联 - 通常是视图。 通过这种方式,可以选择哪些项目受到行为的影响,在这种情况下哪些项目会受到重力的影响。...0] {154, 244} [0.97873402, 0.20513339, -0.20513339, 0.97873402, 0, 0] {157, 241} 在这里可以看到,动态引擎正在使用变换和帧偏移的组合来根据底层物理模型定位视图...这个协议意味着动态与UIView不紧密耦合; 的确有另一个UIKit类不是视图,但仍然采用这个协议:UICollectionViewLayoutAttributes。...一个UISnapBehavior使一个对象跳跃到一个有弹性的弹簧式动画的指定位置。 删除上一节添加的代码:collisionBehavior()中的firstContact属性和if语句。

    1.9K30

    WWDC 23 ,SwiftUI 5 和 SwiftData 的初印象

    全新的数据流声明和注入方式 利用 Swift 5.9 的新特性,对于引用类型的 Source of truth,只需使用 @Observable 进行标注,视图将对数据源的变化以属性为粒度进行响应。...本次升级带来了动画完成回调、阶段性动画、关键帧动画、全新的 Transition 协议( 支持转场状态 )、全新的 Shape 协议( 支持 Shape 之间的运算 )、全新的 TransactionKey...,直接定位到滚动视图的特定位置,只能使用一次 )、全新的滚动条控制( 闪烁 )、可自定义行视图在滚动区域的顶端和显示区域的显示状态( 例如可用其实现类似 watchOS 中的滚动到顶端子视图缩小的视觉效果...SwiftData 本质上就是一套官方推出的,基于 Swift 5.9 新功能实现的 Core Data 的 Swift 封装库。...这是我目前整理的一些有关 SwiftData 的问题和注意事项( 原文发表在推文中,没有进行更系统的归纳): 尚不支持公共和共享数据的云同步 在当前版本中,通过其他上下文(ModelContext)创建的数据并不会自动合并到视图上下文中

    39110

    【IOS开发基础系列】UIAlertController专题

    版本和Objective-C版本不同,在swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。...UIAlertView相比,我们无需指定代理,也无需在初始化过程中指定按钮。...当您向对话框控制器中添加文本框时,您需要指定一个用来配置文本框的代码块。         ...在iOS 8中我们不再需要小心翼翼地计算出弹出框的大小,UIAlertController将会根据设备大小自适应弹出框的大小。并且在iPhone或者紧缩宽度的设备中它将会返回nil值。...具体表现是:在项目中,自定义AlertView实例的生命周期是在plugin中管理的,plugin差不多是单例模式,故自定义AlertView实例不会轻易释放,只有下一次调用插件时,实例进行替换时才会将上一实例释放

    60630

    UG常用快捷键

    此选项只影响手柄,而不移动任何对象。运动记录首选项 打开运动的首选项对话框,可在其中设置影响运动步骤和帧的首选项。 拆卸可以不退出运动记录而拆卸当前组件选择对象。摄像机 创建摄像步骤。...首选项对话框选项步长大小计算可以使用此对话框上的选项指定步长大小,或者由系统自动定义步长大小。步长大小可以指定运动动画的精细程度。滑块越接近“精细”,将为运动步骤创建越多的帧。...如果步长大小计算是已指定的,此选项将变灰。 最大步长距离设置系统计算运动时单一帧平移组件的最大距离。 如果步长大小计算是自动,此选项将变灰。系统基于当前视图比例和缩放因子计算最大步长距离和角度。...系统基于当前视图比例和缩放因子计算最大步长距离和角度。 最大帧数可以指定在一个运动步骤中系统可创建的最大帧数。 创建的大多数序列都是拆装序列,因为您是从一个完整的装配开始的。...如果不希望使用动态间隙检查,则选择“不检查”。 10.

    3.6K40

    Swift-MVVM 简单演练(一)

    UIButton的分类HQButton+Extension,封装快速创建自定义按钮的方法 HQButton.swift extension UIButton { /// 便利构造函数...在基类控制器的setupUI(设置界面)的方法里面,我们直接创建了tableView,那么我们如果有一个标记,能根据这个标记来选择是创建普通视图,还是创建访客视图。就可以很好的解决此类问题了。...到目前为止,虽然我们只是在基类控制器里面创建了访客视图setupVistorView,只有一个访客视图的HQVistorView,但是实际上当我们点击不同的子控制器的时候,每个子控制器都会创建一个访客视图...是否需要解耦需要根据实际情况判断,没必要为了解耦而解耦,为了模式而模式。...总结 使用代理传递消息是为了在控制器和视图之间解耦,让视图能够被多个控制器复用,如TableView 但是,如果视图仅仅是为了封装代码,而从控制器中剥离出来的,并且能够确认该视图不会被其它控制器引用,

    10.3K51
    领券