iOS 图像动画
文章平均质量分 69
源码下载: https://github.com/nai-chen/IosBlog
假装你是大灰狼
移动端工程师
展开
-
iOS AVAudioRecorder简介
的主要属性的主要方法录制后将音频保存到本地文件中。原创 2023-10-10 17:52:42 · 1005 阅读 · 0 评论 -
iOS 获取视频截图
注意:这种获取视频截图的方法适用于mp4等视频,不能用于m3u8上。当然,用这种方式有一定几率会失败,这也是个很诡异的bug,我会在下一篇文章中讨论这个问题,今天就此略过。后来查了一下文档,当你想要一个时间点的某一帧的时候,它会在一个范围内找,如果有缓存,或者有在索引内的关键帧,就直接返回,从而优化性能。a当前第几帧, b每秒钟多少帧,当前播放时间a/b。是一个用来描述视频时间的结构体。a当前时间,b每秒钟多少帧。就会发现时间差的很远。那么为什么,效果差了这么多呢?这个定义范围的API就是。转载 2023-10-10 15:53:19 · 265 阅读 · 0 评论 -
iOS PHPhotoLibrary
这个共享的类型的对象是对照片应用的所有的资源以及所有的集合进行管理的表现,包括了存储在本地设备上的资源和(如果允许的话)存储在iCloud上的资源。使用这个对象可以对照片库中的对象进行更改——例如,编辑资源数据或内容,插入一个新的资源,再或者更改一个集合中的成员。你也可以使用照片库对象注册Photos发送是否更改资源或集合的内容或者数据的消息,验证用户是否授权你的应用程序访问Photos的内容。转载 2023-04-06 16:59:38 · 801 阅读 · 0 评论 -
iOS PHLivePhotoView
获取一个对象之后,使用一个Live Photo视图来展示这个照片并且控制播放它的动作和声音内容。在iOS和tvOS中,你可以使用或者PHAsset以及类或者通过创建一个从照片库中导出的资源来从照片库中获取Live Photo对象。在MacOS中,Live Photo对象只在运行Photos应用中的一个照片编辑扩展中编辑Live Photo的内容时有效。——查看类在编辑会话中获取Live Photo内容。注意关于如何将Live Photo和你的应用的用户体验整合到一起,请查看中的Live Photos。转载 2023-04-06 16:26:05 · 407 阅读 · 0 评论 -
iOS PHAsset
在iOS和tvOS中,你可以使用这个类来从用户的图库中(使用PHAsset和PHImageManager类获取)引用Live Photo,在其他的位置(如通过社交网络分享图片)使用获得的数据来加载展示Live Photo对象,并将Live Photo加载在PHLivePhotoView上来进行展示。在iOS和tvOS,以及MacOS中,你可以使用这个类来在一个照片编辑扩展中展示编辑Live Photo的过程。注意。转载 2023-04-06 15:41:34 · 471 阅读 · 0 评论 -
iOS PHImageRequestOptions
能够影响通过图片管理器获得的资源的静态图像的一组选项。转载 2023-04-06 10:43:52 · 613 阅读 · 0 评论 -
iOS PHImageManager
使用这些方法来获取全尺寸图片资源或缩略图,或者获取对象来播放、输出、控制视频资源。使用PHAsset类来获取你想要的资源。调用方法来获取图片管理单例对象。使用“请求图片”和“请求视频对象”中的方法来加载资源的图片或视频数据。图片管理器会缓存它提供过的图像和数据,所以之后向同一个资源请求同样的参数会很快速的返回。如果你需要同时加载很多资源的图片数据,如果你想要很快速的加载图片请使用预加载缓存。例如,你在一个展示资源的视图中想要使用缩略图填充,你可以在滚动到位置之前提前缓冲。转载 2023-04-06 15:38:06 · 630 阅读 · 0 评论 -
iOS YBImageBrowser简介
是一个 iOS 图片浏览器,支持 GIF,APNG,WebP 等本地和网络图像类型。在Podfile中安装导入。原创 2023-03-30 17:50:23 · 1396 阅读 · 0 评论 -
iOS SDWebImage缓存图片
在实际项目中,我们从服务上下载图片,但需要进行转码才能使用,并存储到disk或memory上。是支持HTTPS的,但有时获取https网络图片失效,此时可设置。的结构和用法,在这一篇中,我们将利用。原创 2023-03-30 15:00:40 · 554 阅读 · 0 评论 -
iOS CAEmitterLayer动画
1. CAEmitterLayerCAEmitterLayer是一个高性能的粒子引擎,被用来创建复杂的粒子发射动画,而所谓的粒子就是CAEmitterCell。可以把CAEmitterLayer看做CAEmitterCell的容器,CAEmitterCell可以进行个性化定制。CAEmitterLayer主要属性// 粒子数组@property(nullable, copy) NSArray<CAEmitterCell *> *emitterCells;// 发射源中心点位置,默认是原创 2022-02-15 18:07:07 · 1292 阅读 · 0 评论 -
iOS AVAudioSession详解
音频输出作为硬件资源,对于iOS系统来说是唯一的,那么要如何协调和各个App之间对这个稀缺的硬件持有关系呢?iOS给出的解决方案是AVAudioSession ,通过它可以实现对App当前上下文音频资源的控制,比如插拔耳机、接电话、是否和其他音频数据混音等。当你遇到:是进行录音还是播放?当系统静音键按下时该如何表现?是从扬声器还是从听筒里面播放声音?插拔耳机后如何表现?来电话/闹钟响了后如何表现?其他音频App启动后如何表现?…这些场景的时候,就可以考虑一下AVAudioSession转载 2022-01-21 15:30:12 · 3049 阅读 · 0 评论 -
iOS AVAudioPlayer简介
1. AVAudioPlayerAVAudioPlayer在AVFoundation框架下,AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要注意的是NSURL必须是本地文件URL,因为AVAudioPlayer不具备播放网络音频的能力。- (nullable instancetype)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;- (nullable instance原创 2022-02-07 16:21:53 · 2480 阅读 · 0 评论 -
iOS SDWebImage详细介绍
在iOS的图片加载框架中,SDWebImage使用频率非常高。它支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件。在项目中使用SDWebImage来管理图片加载相关操作可以极大地提高开发效率,让我们更加专注于业务逻辑实现。本文讲解的版本为4.4.2版本。一、SDWebImage 概论SDWebImage是个支持异步下载与缓存的UIImageView扩展。项目主要提供了一下功能:1.提供了一个UIImageView的category用来加载网络图片并且对转载 2022-01-18 16:11:52 · 2859 阅读 · 0 评论 -
iOS CAShapeLayer和CAGradientLayer
CAShapeLayerCAShapeLayer继承自CALayer的,通过矢量图形绘制图层子类,指定诸如颜色和线宽等属性,用CGPath来绘制图形,常与UIBezierPath配合使用。CAShapeLayer主要属性属性类型说明pathCGPathRef路径fillColorCGColorRef填充颜色strokeColorCGColorRef线条颜色lineWidthCGFloat线条宽度strokeStartCGFloat路径绘原创 2021-08-24 14:52:49 · 1238 阅读 · 0 评论 -
iOS UIBezierPath绘图
UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装。主要属性@property(nonatomic) CGFloat lineWidth;@property(nonatomic) CGLineCap lineCapStyle;@property(nonatomic) CGLineJoin lineJoinStyle;...原创 2021-08-23 16:35:26 · 746 阅读 · 0 评论 -
iOS 保存图片和视频
保存图片使用UIImageWriteToSavedPhotosAlbum方法保存图片到相册- (void)saveImage:(UIImage *)image { UIImageWriteToSavedPhotosAlbum(image, self, @selector(UIImageWriteToSavedPhotosAlbum_image:didFinishSavingWithError:contextInfo:), nil);}- (void)UIImageWr原创 2021-08-19 18:25:12 · 1765 阅读 · 1 评论 -
iOS 图像选取器UIImagePickerController
UIImagePickerController可以帮助我们调用摄像头拍照或者希望从相册中选择照片。UIImagePickerController主要属性// 图片获取来源@property(nonatomic) UIImagePickerControllerSourceType sourceType;// 拍完照或相册选择图片后,是否允许编辑图像@property(nonatomic) BOOL allowsEditing;// 媒体类型,public.image和public.movie,默认原创 2021-08-19 17:05:47 · 2804 阅读 · 0 评论 -
iOS AVPlayer和AVPlayerViewController
1. AVPlayerAVPlayer是iOS常见的播放器,使用时需导入#import <AVKit/AVKit.h>AVPlayer能控制播放器的播放,暂停,播放速度// 初始化+ (instancetype)playerWithURL:(NSURL *)URL;+ (instancetype)playerWithPlayerItem:(nullable AVPlayerItem *)item;- (instancetype)initWithURL:(NSURL *)URL;原创 2021-08-18 17:57:34 · 12648 阅读 · 0 评论 -
iOS Core Graphics绘图
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。Core Graphics API所有的操作都在上下文中进行。所以在绘图之前需要获取该上下文并传入执行渲染的函数内。有许多方式获得一个上下文第一种方法就是创建一个图片类型的上下文。// 获得用来处理图片的图形上下文UIGraphicsBeginImageContext(rect.size);CGContextRef context = UIGrap原创 2021-08-23 09:36:39 · 924 阅读 · 0 评论 -
iOS CAAnimation使用详解
理解了隐式动画后,显式动画就更加通俗易懂了。区别于隐式动画的特点,显式动画就是需要我们明确指定类型、时间等参数来实现效果的动画。除此之外,我们也可以创建非线性动画,比如沿着任意一条曲线运动等;我们平时最常用的也是显式动画,不仅系统为我们的视图提供了UIViewAnimationWithBlock的动画封装,而且我们在熟悉了Core Animation的动画属性后也可以很方便的设置显式动画;一、动画的分类1、实现动画的方式如果根据实现动画时直接操作对象的类型,我们可以简单的将动画分为视图和图层两种;但转载 2021-05-13 10:33:28 · 1110 阅读 · 0 评论 -
iOS CALayer隐式动画原理与特性
Core Animation的一个非常显著的特性是就是实现动画,而且它支持隐式动画和显式动画两种形式,本篇我们主要从隐式动画说起;https://www.jianshu.com/p/ea660c2ca2e9转载 2021-05-12 17:27:50 · 579 阅读 · 0 评论 -
iOS UIView Animation动画
1. UIView属性动画常用方法animateWithDurationduration,动画时间delay,动画在延迟多久之后执行options,动画的展示方式animations,动画代码completion,动画完成后代码// 动画时间,,options,completion+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnim原创 2021-05-11 10:33:48 · 2019 阅读 · 2 评论 -
iOS CGAffineTransform仿射变换
1. CGAffineTransform定义CGAffineTransform是个结构体,我们可以使界面平移、缩放和旋转操作。struct CGAffineTransform { CGFloat a, b, c, d; CGFloat tx, ty;};2. 放射变换2.1 平移tx和ty分别代表X轴和Y轴方向上的位移。CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty)CGA原创 2021-05-10 15:07:03 · 1236 阅读 · 0 评论 -
iOS UIColor,CGColor,CIColor三者的区别和联系
最近看了看CoreGraphics的东西,看到关于CGColor的东西,于是就想着顺便看看UIColor,CIColor,弄清楚它们之间的区别和联系。下面我们分别看看它们三个的概念:一、UIColorUIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化。UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明色等,这些颜色的色彩空间也不尽相同(白色和黑色是kCGColorSpaceDeviceG转载 2020-11-17 16:20:51 · 880 阅读 · 0 评论 -
iOS UIColor简介
1. UIColor初始化由白色透明度创建 + (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha;由三原色创建+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;由图片创建+ (UIColor *)colorWithPatternImage:(UIImage *)image原创 2020-11-17 16:05:32 · 1363 阅读 · 0 评论