首页
学习
活动
专区
圈层
工具
发布

iOS开发——带有暂停功能的计时器

上篇博客我跟大家分享了如何在iOS系统中使用原生框架获取步数,又是大半个月过去了,运动模块的全部功能也总算完成了,也打算有始有终的把如何做一个跑步类App跟大家分享了。...运动类应用中,有一个很重要的模块就是计时器,当然,这个计时器不算复杂,只要有简单的开始、暂停以及复位功能即可。那么今天我们从Model层来看看这个计时器的逻辑实现。...到这里我们的变量讲解完毕,接着往下看功能的实现。...代码很简单,当start时添加当前时间至数组里,并且启动定时器,暂停时,销毁定时器,添加暂停的时间进入暂停数组。继续和重置同理。那么我们来看定时器启动时,对应的selector做了哪些事情。...当我们第一次运行计时器时,获取的秒数就是开始时间与当前时间比对的差值。 而之后,就是跟暂停之后启动时间的对比了。

2K10

老司机带你走进Core Animation 之几种动画的简单应用

---- iOS中GIF动图的播放的实现方式 我们知道,在OC中展示静态图片我们是使用UIIamgeView的,然而UIImageView对GIF动画的展示却并不友好。...(虽然这样的情况的确占少数)其实这种情况还好一些,我们知道系统的组动画api是不支持动画的暂停与恢复的,而且当图片很多的时候也有很大的崩溃几率,这是我们所不希望看见的,那么我们就开始想自己写一个api让他完美解决以上问题...既然我们使用CAKeyframeAnimation的话,动画的暂停与恢复我们自然可以控制,只要控制好内存也就可以解决崩溃问题,那么这就是我们的思路了。...然后老司机放一下自己写的UIImageView的GIF分类,大家可以直接拿去用,在这里: 点我去下载 效果图,中间是我点暂停了=。= ---- iOS系统更新图标样式的实现方式 这个只得是什么呢?...就是iOS中APP更新的时候在ICON上不是有一个更新的动画么?像下面这个样子: 仿系统更新样式 这里我们就针对这个动画的实现方式进行一下探讨。

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

    iOS 面试策略之系统框架-UIKit

    如果你正在跳槽或者正准备跳槽不妨动动小手,添加一下咱们的交流群931542608来获取一份详细的大厂面试资料为你的跳槽多添一份保障。动画 8.iOS 中实现动画的方式有几种?...除此之外他还有关键帧动画和两个 view 转化等接口。它实现的动画无法回撤、暂停、与手势交互。 CALayer Animation 是更在底层 CALayer 上的动画接口。...除了 UIView Animation 可以实现的效果。它可以修改更多的属性以实现各种复杂的动画效果。其实现的动画可以回撤、暂停、与手势交互。...从上述要求中我们知道:timing function 是 ease out,开始时暂停动画。随着手势的移动,我们记录动画的完成度 fractionComplete。...关键词:#Drag and Drop 这道题考察的是 iOS 11 最新引入的 Drag and Drop 功能。跟很多面试题一样,它没有说明起始和终止的 UIImageView 是否在一个应用之内。

    2K20

    iOS小技能:查看大图浏览器(图片支持滑动切换)

    ,图片支持滑动切换 文章:https://blog.csdn.net/z929118967/article/details/115077471 主要功能:进入查看器之后,可左右滑动查看上/下张,并支持下滑视图退出查看器...originImageViews:(NSArrayUIImageView *>*)originImageViews selectPage:(NSInteger)selectPage; 此功能推荐采用...,weak)UIImageView * smallImageView; /** 选中的是第几个imageView */ @property(nonatomic,assign)NSInteger selectPage...API_AVAILABLE(ios(13.0)) = -2, }; 3.1 Modal 转场动画 此功能推荐采用UIModalPresentationOverCurrentContext 实现代理方法...,所有动画控件都应该加在这上面 UIView * containerView = [transitionContext containerView]; //转场去往的控制器 UIViewController

    1.5K30

    iOS中播放gif动态图的方式探讨 原

    iOS中播放gif动态图的方式探讨 一、引言     在iOS开发中,UIImageView类专门来负责图片数据的渲染,并且UIImageView也有帧动画的方法来播放一组图片,但是对于gif类型的数据...,UIImageView中并没有现成的接口提供给开发者使用,在iOS中一般可以通过两种方式来播放gif动态图,一种方式是通过ImageIO框架中的方法将gif文件中的数据进行解析,再使用coreAnimation...核心动画来播放gif动画,另一种方式计较简单,可以直接通过webView来渲染gif图。...,就可以为UIImageView添加核心动画的方法来让其播放gif的内容了。     ...三、使用UIWebView来加载gif动态图数据     iOS中的UIWebView功能十分强大,可以通过UIWebView为载体,来展示gif图。

    2.1K20

    《Motion Design for iOS》(三十六)

    持续时间是动画完成需要的时间,而阻尼是iOS 7在UIView动画方法中提供的一个弹簧属性,用来控制弹簧的弹力。...动画太快也太跳跃了。这种类型的弹性动画带来了一些焦虑。这是一个关于仅仅使用一个弹簧动画并不能提升你的app整体用户体验的很好的例子。每种类型的动画都给你的用户带来了一些感受,而这个带来了错误地感受。...你可以发现当你使用iOS 7提供的弹簧动画方法时,它直接提供了一些值来获取你想要的感觉。...iOS 7的基于block的动画中的damping值实际上是一个解释值,这意味着苹果无论获取到你输入的什么值,都会做一些复杂的计算来操作这个值并将其放入弹簧动作方程式中。...查看完整合集:https://github.com/Cloudox/Motion-Design-for-iOS 查看作者首页

    71320

    iOS 客户端动图优化实践

    使用原生 API 展示 GIF 需要使用 ImageIO.framework 来从 data 中解析出每一帧, 同时通过 UIImageView 的 animationImages 属性来达成动画的支持...NSDictionary 做帧缓存, 用CADisplayLink 来做动画的展示, 同时添加帧解码任务....滑动场景下不执行解码任务, 降低 CPU 负载 在快速滑动的场景, CPU 一般都是比较繁忙的, 因此可以在滑动时不生成帧解码任务从而降低 CPU 压力, QMAnimatedImageView 也提供了接口屏蔽这一功能..., 几乎是不可用的, 虽然帧数还不错, 但是非常卡, 具体帧数与卡顿的关系可以参考文章 APP&游戏需要关注Jank卡顿及卡顿率吗[3]....在主线程滑动时, 暂停解码新的帧, 避免快速滑动场景浪费 CPU 资源.

    6.9K40

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

    在思考一个动画的实现方法时,把动画的动作进行分解然后再一个个去思考怎么实现是一个好的习惯,我们稍微分解一下,这个动画在显示大图和收起大图的时候做了这些事情: 打开时先显示一个半透明的阴影背景; 然后显示一个逐渐变大的图片...:屏幕的高和宽,这样就会根据手机的屏幕大小来保证图片始终是居中显示的,关于这两个常量,可以查看我这篇博客:iOS获取屏幕宽高、设备型号、系统版本信息 好现在小图已经添加到界面上了,我们也给小图添加了响应点击的方法...这里的动画我们使用的是最简单的iOS 7开始支持的基于block的UIView动画,在我的这篇博客中也有详细讲解:iOS基础动画教程 然后,我们初始化了阴影背景视图,并添加到界面上,此时不要忘记,要再次将大图手动推送到最上层...到此,显示大图的动画就结束了,挺简单的吧,接下来我们看收起大图的动画,基本就是把上面的步骤倒过来了一次。...其实是完全可以的,只是在我的工程中有这个需求,所以我就直接拿过来讲了哈哈哈。 这里是我的示例工程:https://github.com/Cloudox/ViewBigImageDemo

    2.2K20

    Mac开发跬步积累(四):ImageIO解析Gif 图像数据

    Gif 动图在macOS与iOS平台上都是被广泛使用的一种图片资源;但在这两个平台上关于Gif动图的支持却是完全不同的效果: NSImageView (macOS)默认支持Gif格式的图片资源,而UIImageView...(iOS)默认是无法动画显示Gif格式的图片资源 0x00: 什么是Gif 图片?...由于NSImageView仅提供了一个animates布尔值来控制是否动画显示Gif图片,无法指定播放次数,同时在iOS平台中,UIImageview没有animates这个属性支持Gif格式图像,通常需要引入第三方库实现对...macOS中NSImageView 和iOS平台中UIImageView如何更灵活的使用Gif图像资源....本例中只是macOS上的效果,对于iOS有兴趣的朋友可以试着将解析后的NSImage数组赋值给UIImageView的animationImages属性实现Gif动效,权当阅读后的练习,就不给出具体代码了

    2.4K30

    iOS实现点击图片放大&长按保存图片

    一:简介 在项目中免不了会遇到,实名认证上传身份证、绑定银行卡等功能。...,完美的实现了图片的缩放功能。...另外,这些博文都是来源于我日常开发中的技术总结,在时间允许的情况下,我会针对技术点分别分享iOS、Android两个版本,尽量附上demo以供大家参考,如果有其他技术点需要,可在文章后留言,我会尽全力帮助大家...中 添加放大后背景视图的颜色和透明度 使用动画放大展示ImageView 添加恢复ImageView原始尺寸的tap点击事件 完成之后将背景视图删掉 三:实现源码分析 根据实现思路分析,一步步进行编码实现...使用动画放大展示ImageView //动画放大所展示的ImageView [UIView animateWithDuration:0.4 animations:^{ CGFloat

    7.4K20

    Quartz2D复习(四) --- 图层CALayer和动画CAAnimation

    1、CALayer 1)、在ios中,能看得见摸得着的东西基本上都是UIView, 比如按钮、文本标签、文本输入框、图标等,这些都是UIView 2)、UIView之所以能显示在屏幕上,完全是因为它内部的一个图层...UIView本身不具备显示的功能,是它内部的层才有显示功能 5)、通过CALayer对象,可以很方便的调整UIView的一些外观属性,比如:阴影、圆角大小、边框宽度和颜色。。。...QuartzCore框架和CoreGraphics框架是可以跨平台使用的,在ios和Mac OSX上能使用;   但是UIKit只能在ios中使用;为了保证可移植性,QuartzCore不能使用UIImage...API, 使用它能做出非常绚丽的动画效果,少量的代码可以实现非常强大的功能 2)、Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程 3)、Core Animation是直接操作在...ios比Mac  OSX的转场动画效果少一点   UINavigationController就是通过CATransation实现了将控制器的视图推入屏幕的动画效果   动画属性:   type : 动画过度类型

    2K30

    【iOS】教你用ZFPlayer+KTVHTTPCache搭建缓存,预加载的播放器

    Demo演示的功能 提示:文末有相关的Demo下载链接 ZFPlayer的列表播放 使用KTVHTTPCache实现缓存(播放过的视频无需再下载) 使用KTVHTTPCache实现预加载(可以实现秒播)...自定义转场动画(实现无缝衔接的播放效果) 瀑布流页面(双排列表展示,以及转场动画) gif演示: ?...一、缓存+预加载功能 1、播放器mgr核心代码 mgr实现ZFPlayerMediaPlayback协议,然后在初始化时,开启本地服务器 + (void)initialize { [KTVHTTPCache...这里我直接拿ZFPlayerDemo中的一个列表播放,一个抖音列表播放的例子进行演示,不熟悉转场动画的,建议自行先看看唐巧的https://blog.devtang.com/2016/03/13/iOS-transition-guide...https://blog.devtang.com/2016/03/13/iOS-transition-guide/

    8.7K40
    领券