非常感谢,帮助我的朋友们,谢谢你们.上次我的好朋友指出了我编码上(jwTextFiled工具组件)存在一些不规范问题,这次注意提高. 呆毛地址:https://github.com/NIUXINGJIAN/MilestonesAndTimeline.git [创做背景]组件的制作是因为用到类似的功能,UI设计的图片不能满足实际场景需要.这个组件可能存在一些我没有发现的bug,如果你发现了,希望批评指正. [首先声明]该组件是本人原创,请珍惜劳动成果.因为创造它的灵感只有一瞬间,但是完成它却使用了…
引言   上一节中我们了解了IOS小组件的刷新机制,发现根本没法实现按秒刷新,但是看别的App里面有做到,以为用了什么黑科技,原来是因为系统提供了一个额外的机制实现时间的动态更新,不用走小组件的刷新机制. Text控件支持显示日期时间,下面是来自官网的代码 计算时间差 let components = DateComponents(minute: 11, second: 14) let futureDate = Calendar.current.date(byAdding: components…
引言   Widget是一个迷你版的App,IOS有沙盒机制,不同App之间无法直接共享数据.组件和主App之间其实就是不同App的关系,所以也无法通过userdefaults.standard来传数据,苹果为了在不打破沙盒的前提下能够传数据,就想出了App Group的方法. 数据共享方式  可以通过网络和本地数据两种方式进行数据的共享,本地数据共享可以通过 App Groups. App Groups 原理   它是 iOS 8 之后推出的在 App 之间共享数据的方式,只需要简单的配置就可…
引言   前面我们似乎掌握了实现一个小组件所需要的一切技能,默认情况下桌面点击小组件,也正常跳转到了App中.接下来我们一起来看看,小组件是怎么做到点击跳转到App的. 点击交互方式 点击Widget窗口唤起APP进行交互指定跳转支持两种方式: widgetURL:点击区域是Widget的所有区域,适合元素.逻辑简单的小部件 Link:通过Link修饰,允许让界面上不同元素产生点击响应 Widget支持三种显示方式,分别是systemSmall. systemMedium.systemLarge…
非常感谢,帮助我的朋友们,谢谢你们. 该组件的编写仅仅用来不到4个小时,包括测试与修改bug.为他起名为AdaptivePromptDialogBox(就是自适应文案提示框): 呆毛地址:链接 <https://github.com/NIUXINGJIAN/AdaptivePromptDialogBox.git> [背景]:今天服务器返回的提示文案过于长,原来自定义实现的黑框效果不能满足.我想办法去让他自适应宽度和高度.在做到页面无数图片加载的时候,我自己封装了一个方法,用起来很好用,决定将其…
引言   前面的章节学完已经让我们可以顺利实现一个小组件了,但是小组件里面的数据如何刷新的呢,本节内容将讲解IOS的刷新机制. 大纲 系统如何管理小组件刷新 Timeline刷新机制 Timeline刷新机制代码实现 刷新策略建议 时钟刷新策略(只有小时分钟,没有秒) 主动请求重新刷新 系统如何管理小组件刷新 WidgetKit在一个单独的进程中渲染小组件视图 即使小组件窗口显示在屏幕上,widget extension 也不会持续处于活动状态 为了管理系统负载,WidgetKit使用预算来分配…
概述 迄今为止最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 详细 代码下载:http://www.demodashi.com/demo/10797.html 迄今为止 最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 示例图如下: 一.准备工作 现在,在多数的项目中都会用到这样的东西,尤其是商城类项目,里面有物流信息的,此版时间轴项目最为通熟易懂,就算你是iOS开发大白,看到里面的流程 介绍,你都会试着写. 首先给大家看下项目整体结构,在项目中我是用的是SDAutolayout布…
这是一个关于OC时间轴的简单实现,我认为重要的是思路. 感谢作者:Cyandev 的文章<iOS 实现时间线列表效果>给的思路.这里先附上Objective-C的代码实现,有时间再去试试Swift 先看一下效果: 再看一段主要的代码: //根据cell判断cell中bottomLine的颜色,如果不是最后一个,则颜色和topLine颜色一样. cell.buttomLine.backgroundColor = indexPath.row == (_dataArray.count-) ? [UI…
前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明FineUI旺盛的生命力!).这一切的得来不是无缘无故的,而是来自于FineUI的发布理念 – Release Early! Release Often! 时至今天,FineUI总共发布了 100 多个版本! 这 100 多个版本更新列表只是文本文件就有 120K 大小,放在页面上更是长的要命,如何恰当的向…
前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明FineUI旺盛的生命力!).这一切的得来不是无缘无故的,而是来自于FineUI的发布理念 – Release Early! Release Often! 时至今天,FineUI总共发布了 100 多个版本! 这 100 多个版本更新列表只是文本文件就有 120K 大小,放在页面上更是长的要命,如何恰当的向…