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

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

LottieFiles:https://www.lottiefiles.com/。 LottieFiles是一个在线的测试Lottie动画的网站,并且其上面也提供了许多常用的Lottie动画组件。...二、一个简单的小Demo     先来看一个简单的小例子,我在LottieFiles上找了一个骑行动画的JSON文件,此文件的下载地址如下: https://www.lottiefiles.com/download...下载的JSON文件添加到iOS项目中,之后就像使用图片一样的来使用它即可,代码如下: #import @interface ViewController () @...,是UIView或NSView的别名而已。  ...initWithContentsOfURL:(nonnull NSURL *)url; 其实无论上面哪种方式加载动画,都是通过LOTComposition组件类实例化的,你也可以直接通过这个类来构建动画视图

2.8K20

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

iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。...2.把view添加到uiwindow         创建一个控制器,把view添加到uiwindow上面(有两种方式)     (1)直接控制器的view添加到UIWindow中,并不理会它对应的控制器...这个只发生在接收者从它的父视图上移除或者接收者添加到视图中而不是添加到window中。...消息或者子视图从接收者视图层次中移除因为它要被添加到其他视图了 3 UIView动画 3.1 概述         UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验...• 旋转:即任何应用到视图上的仿射变换(transform)。         UIKit直接动画集成到UIView类中,实现简单动画的创建过程。

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

《Motion Design for iOS》(十七)

让我们先添加一个简单的UIView对象到屏幕上并设置它的圆角。我们要把它添加到我们的主窗口上时因为它是一个快速的例子,但在真实的app界面中你需要添加到管理当前界面的视图控制器中。...对象并设置了它的框架来定义它在屏幕上的的X和Y坐标,以及它的宽和高,然后将其添加到屏幕中。...让我们创建一个基于block的动画来圆从1.0扩大到2.0倍,这会让它变成原来的两倍大。...首先,我们视图的背景色从原始的红色改成了绿色。Core Animation会帮我们修改它并处理中间的颜色。接下来,我们改变了两个关于视图的transform的内容:它的尺寸和平移。...我们使用了CGAffineTransformConcat()函数来两个更改操作合成了一个,这样就可以分配一个简单矩阵转化给视图

94020

UIViewController生命周期

由于视图视图控制器管理,所以讨论视图的加载方式时,主要讨论视图控制器的加载方式。 通过Storyboard加载:这是苹果推荐的方式。...UIWindow并不包含任何默认的内容,但是它被当作UIView的容器,用于放置应用中所有的UIView。...2、UIWindow的主要作用有: 1.作为UIView的最顶层容器,包含应用显示所有的UIView; 2.传递触摸消息和键盘事件给UIView; 把view添加到uiwindow 3、把view...添加到uiwindow上面 (1)直接控制器的view添加到UIWindow中,并不理会它对应的控制器 [self.window addsubview:vc.view]; (2)设置uiwindow...的根控制器,自动rootviewcontroller的view添加到window中,负责管理rootviewcontroller的生命周期 [self.window.rootviewcontroller

1.8K10

iOS点击查看大图的动画效果

@property (nonatomic, strong) UIImageView *bigImageView;// 大图视图 @property (nonatomic, strong) UIView...*bgView;// 阴影视图 然后我们小图片直接添加到界面上去: - (void)viewDidLoad { [super viewDidLoad]; // 小图 self.smallImageView...- (UIView *)bgView { if (nil == _bgView) { _bgView = [[UIView alloc] initWithFrame:CGRectMake...bringSubviewToFront:_bigImageView]; } 看代码,我们首先调用了大图的初始化方法,但是注意,此时还并没有大图添加到界面上,如果这时候添加,就会直接显示大图了,在此之前...这里的动画我们使用的是最简单的iOS 7开始支持的基于block的UIView动画,在我的这篇博客中也有详细讲解:iOS基础动画教程 然后,我们初始化了阴影背景视图,并添加到界面上,此时不要忘记,要再次大图手动推送到最上层

1.6K20

自定义一个浮层弹窗视图

要实现这样的效果,基本思路是: 1,新建一个弹窗背景视图,背景颜色设置为黑色,透明度设置为0.5; 2,将自定义弹窗视图加在弹窗背景视图上; 3,触发弹出弹窗视图的时候,弹窗背景视图加到程序的根窗口上...; 4,移除弹窗视图的时候,就将弹窗背景视图从父视图上移除即可。...required */ @property (nonatomic, strong)UIView *customView; /** 决定hud视图是否展示的开关 required */ @property...展示浮层上的自定义提示视图的时候,我使用了UIView的动画,可以在这里实现浮层上的自定义提示视图展示时候的动画。 给浮层的背景视图添加一个点击手势,以在点击的时候移除该浮层。...设计师设计出一组动画效果,然后导成JSON文件,我使用Lottie解析该JSON文件就可以动画效果展示出来,使用非常简单。

1.4K30

IOS开发系列——UIView专题之二:动画篇【整理,部分原创】

2UIView动画 2.1概述 UIView视图的动画功能,可以使在更新或切换视图时有放缓节奏、产生流畅的动画效果,进而改善用户体验。...UIView可以产生动画效果的变化包括: •位置变化:在屏幕上移动视图。 •大小变化:改变视图框架(frame)和边界。 •拉伸变化:改变视图内容的延展区域。...UIKit直接动画集成到UIView类中,实现简单动画的创建过程。UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持。...initWithTitle:@"next" style:UIBarButtonItemStylePlaintarget:self action:@selector(buttonPressed)]; //按钮添加到导航控制器默认右按钮上...使用Core Animation时,应该CATransition应用到视图的默认图层([myView layer])而不是视图本身。

1.2K10

iOS 中获取某个视图的截图

我写了个UIView 的category,这几种方式封装和简化了一下。 第一种情形截图 这种是最最普通的截图,针对一般的视图上添加视图的情况,基本都可以使用。...return snapshotImage; } 第三种情形截图 有一些特殊的Layer(比如:AVCaptureVideoPreviewLayer 和 AVSampleBufferDisplayLayer) 添加到某个...View 上后,使用上面的几种方式都无法截取到Layer上的内容,这个时候可以使用系统的一个API,但是该API只能返回一个UIView,返回的UIView 可以修改frame 等参数。.../** 截图 以UIView 的形式返回(_UIReplicantView) @return 截取出来的图片转换的视图 */ - (UIView *)snapshotView { UIView...,无法转换为UIImage,我试过返回的截图View写入位图再转换成UIImage,但是返回的UIImage 要么为空,要么没有内容。

2.9K41

iOS 系统中的视图动画

哪些属性可以添加动画效果 根据 iOS 视图编程指南中说明, UIView 内置支持为下列属性添加动画效果: Frame 可以改变视图相对于上一级视图的位置和大小。...实现动画的自动翻转 当创建自动翻转指定次数的动画时, 考虑重复次数设置为非整数值。...(显示一个模式对话框、视图控制器推入导航堆栈等), 视图切换改变的仅仅是视图的可视化树, 视图控制器是不变的, 更多信息可以参考iOS视图控制器编程指南。...修改子视图 可以修改子视图的可见性用来表示当前视图的不同的状态, 看下面的两个视图切换的例子,在 iOS 4.0 之前, 需要将视图切换动画添加到 Begin/Commit 动画之间, 代码如下: 在...替换子视图 要进行子视图的替换, 需要用到 transitionFromView:toView:duration:options:completion: 方法, 示例代码如下: UIView *fromView

2.2K30

iOS下的界面布局利器-MyLayout布局框架

框架布局垂直方向上分为上、中、下三个方位,而水平方向上则分为左、中、右三个方位,任何一个子视图都只能定位在垂直方向和水平方向上的一个方位上。...表格布局是一种里面的子视图可以像表格一样多行多列排列的布局视图。子视图加到表格布局视图前必须先要建立并添加行视图,然后再将子视图加到视图里面。...您需要提供一个实现曲线路径的函数、一个特定的坐标体系、一种特定的子视图在曲线上的距离设置这三个要素来实现界面布局。当曲线路径形成后,子视图按相等的距离依次环绕着曲线进行布局。...您可以Size Classes和上述的6种布局搭配使用,以便实现各种设备界面的完美适配。...#import "MyLayout.h" 头文件放入到您的pch文件中,或者在需要使用界面布局的源代码位置。

1.9K30

iOS开发之Masonry框架源码解析

而mas_remakeConstraints中所做的事情是removeExisting属性设置成YES, 表示当前视图上的旧约束进行移除,然后添加上新的约束。 ? ?...寻找两个视图的公共父视图对于约束的添加来说是非常重要的,因为相对的约束是添加到其公共父视图上的。...创建完约束对象后,我们要寻找该约束添加到那个View上。下方的代码段就是获取接收该约束对象的视图。如果是两个视图相对约束,就获取两种的公共父视图。...如果添加的是Width或者Height,那么久添加到当前视图上。如果既没有指定相对视图,也不是Size类型的约束,那么就将该约束对象添加到当前视图的父视图上。代码实现如下: ?...创建完约束对象,并且找到承载约束的视图后,接下来就是将该约束添加到视图上。

1.1K80

UIView不可不知的秘密

2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体等等。...下面介绍的是view添加以及删除时所触发的方法 // 当视图添加子视图时调用 - (void)didAddSubview:(UIView *)subview; // 当子视图从本视图移除时调用...- (void)willRemoveSubview:(UIView *)subview; // 当视图即将加入父视图时 / 当视图即将从父视图移除时调用 - (void)willMoveToSuperview...:(nullable UIView *)newSuperview; // 当试图加入父视图时 / 当视图从父视图移除时调用 - (void)didMoveToSuperview; // 当视图即将加入父视图时...创建实例,添加到控制器的view,设背景色为紫色,并将001赋给tag值 override func viewDidLoad() { super.viewDidLoad() let

1.6K90

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

这个类跟踪你添加到引擎的各种行为,比如引力,并提供整体上下文。当创建animator的实例时,传入animator用于定义其坐标系的参考视图。...; 因此障碍添加到物品列表中允许碰撞物体也作用于障碍物。...UIView UIView.animate(withDuration: 1) { collidingView.backgroundColor = .gray } 上面的代码碰撞项目的背景颜色淡化为灰色...在viewDidLoad上添加两个属性: var square: UIView! var snap: UISnapBehavior! 这将跟踪方块视图,以便您可以从视图控制器的其他位置访问它。...然后创建一个新的捕捉行为,方块对齐到用户的触摸位置,并将其添加到动画制作工具中。 构建并运行应用程序。

1.8K30
领券