iOS Widget简单使用】的更多相关文章

iOS的Widget类似Android的Notification设置flags为Notification.FLAG_ONGOING_EVENT后      OK,大约知道是什么意思了,现在可以开始码了. 1.创建Widget Xcode菜单 -> File -> New -> Target.. -> 选择Today Extension   -->  2.在plist文件里设置纯代码的Widget 删掉NSExtensionMainStoryboard字段 添加NSExtens…
链接: iOS Widget开发 iOS开发之构建Widget iOS开发Widget iOS开发-widget基础 ios8新特性widget开发 ios 10 开发-widget实现 Widget的简单应用并适配iOS10…
iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12),结合自己的实践,写下一点笔记,仅供参考:) 由于篇幅较长,我列出简单的目录,如下 1) 理解Apple推送通知的机制 2) 创建App ID 3) 创建CSR文件 4) 创建Provisioning Profile文件 5) Xcode工程中取…
代码地址如下:http://www.demodashi.com/demo/11601.html 写在最前面,最近在看学习的时候,偶然间发现一个没有用过的Layer,于是抽空研究了下,本来应该能提前记录下来,但是苦逼的码农需要租房子,所以耽搁了几天,但是坚持就是胜利,下面就来看看这个强大的CAReplicatorLayer,通过这个,可以做很多炫酷的动画,能省很多步骤. 到底是什么呢? CAReplicatorLayer主要是为了高效生成许多相似的图层,可以复制自己子层的layer,并且复制出来的…
iOS之简单瀑布流的实现   前言 超简单的瀑布流实现,这里说一下笔者的思路,详细代码在这里. 实现思路 collectionView能实现各中吊炸天的布局,其精髓就在于UICollectionViewLayout,因此我们要自定义一个layout来继承系统的UICollectionViewLayout,所有工作都在这个类中进行. 1.定义所需属性 瀑布流的思路就是,从上往下,那一列最短,就把下一个item放在哪一列,因此我们需要定义一个字典来记录每一列的最大y值 每一个item都有一个attr…
1.iOS目前支持的手势识别(6种) 2.点按手势和慢速拖动手势简单使用 iOS目前支持的手势识别(6种) UITapGestureRecognizer(点按) UIPinchGestureRecognizer(捏合,二指往內或往外拨动,平时经常用到的缩放 ) UIPanGestureRecognizer(拖动,慢速移动 ) UISwipeGestureRecognizer(轻扫,快速移动) UIRotationGestureRecognizer(旋转 ) UILongPressGestureR…
1.Widget iOS extension 的出现,方便了用户查看应用的服务,比如用户可以在 Today 的 widgets 中查看应用的简略信息,然后点击进入相关的应用界面. 2.添加 Widget 添加 Widget 流程 1.添加 Today Extension 2.绘制 UI 3.调起 app 4 .数据共享 2.1 添加 Today Extension 在 Xcode菜单 => File => New => Target.. => 中选择 Today Extension…
iOS 基本数据类型之NSData 1 nsdata 作用: 用于存储二进制的数据类型 nadat类提供一种简单的方式,它用来设置缓存区.将文件的内容读入到缓存区.或者将缓存区中的内容写到一个文件. 不变缓存区(nsdata类) 也可定义可变缓存区类(nsmutableData类) NSData . NSString互转: NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString转换成NSData类型 NSS…
1:首先简单介绍什么叫线程 可并发执行的,拥有最小系统资源,共享进程资源的基本调度单位. 共用堆,自有栈(官方资料说明iOS主线程栈大小为1M,其它线程为512K). 并发执行进度不可控,对非原子操作易造成状态不一致,加锁控制又有死锁的风险. 2:IOS中的线程 iOS主线程(UI线程),我们的大部分业务逻辑代码运行于主线程中. 没有特殊需求,不应引入线程增加程序复杂度. 应用场景:逻辑执行时间过长,严重影响交互体验(界面卡死)等. IOS 多线程 有三种主要方法 (1)NSThread (2)…
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.概念很长,iOS开发中最常遇到的有单例模式,观察者模式(KVO),简单工厂模式其实在开发中也非常常见,就是由工厂类根据传入的参数,动态决定应该创建出对应的产品类的实例. 基础概念 举一个生活的例子是我们有各种中字开头的银行卡,我们每天都会消费,消费的时候每个银行卡提示不同的信息,我们可以先抽象出来一个银行卡类: @inter…
在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我就写分享一种简单的写法,直接在控制器Label需要使用的地方直接实现,也不再进行封装处理. 首先,苹果系统中支持复制功能的控件只有三种:UItextView.UItextfield.UIWebView,所以要想让UILabel支持复制功能,只能给UILabel添加点击手势(比如:长按手势)才能复制内…
主线程 一个iOS程序执行后.默认会开启1条线程,称为"主线程"或"UI线程"(刷新UI界面最好在主线程中做.在子线程中可能会出现莫名其妙的BUG) 主线程的作用  显示\刷新UI界面 处理UI事件(比方点击事件.滚动事件.拖拽事件等) 注意点  别将比較耗时的操作放到主线程中 耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种"卡"的坏体验 iOS中多线程的实现方案  pthread(c语言.程序猿管理) 一套通用的多线程API 适用于Un…
现在你只要拿着手机,不管你Android还是iOS,新闻类的App不可避免都有一个功能就是图片查看,做个专题,查看一下内容,App Store中也有专门针对图片浏览的App,鉴于目前所知有限,无法做到那么高大上的App,简单的做个美女查看的Demo.没有太多的功能,上一张,下一张,标签,图片,简简单的,深刻的感觉到知识就是力量,目前知识有限的结果就是Demo简单,且学且珍惜吧. 1.新建项目(如果不会可以参考本人之前的文章),然后在StoryBoard中进行布局,将Girl文件夹中的图片拖入项目…
概述 迄今为止最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 详细 代码下载:http://www.demodashi.com/demo/10797.html 迄今为止 最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 示例图如下: 一.准备工作 现在,在多数的项目中都会用到这样的东西,尤其是商城类项目,里面有物流信息的,此版时间轴项目最为通熟易懂,就算你是iOS开发大白,看到里面的流程 介绍,你都会试着写. 首先给大家看下项目整体结构,在项目中我是用的是SDAutolayout布…
功能介绍 最近在做一款ios的app,其中有一个页面需要分成三个版块,版块之间可以通过左右滑动来进行切换,也可以通过点击上方的按钮来切换,好像在android中可以用过ViewPager + Fragment来实现.界面大概就是这个样子,这里我以知乎客户端的发现页面为例:     其中整个页面分为三个小的版块,分别"推荐","热门"以及"收藏".点击上方的文字后,下方的页面会切换到对应的版块,同时文字下方的蓝色导航条也会随着界面的切换跟着滑动.另…
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的iOS程序.但是这里我想强调一下,前面的知识是你日后开发iOS的基础,没有那些知识你开发iOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运行的原理.机制.好了言归正传,不管怎么样正式进入iOS开发还是令人兴奋的,今天的内容虽然说是开发预览,其实…
做iOS开发的同学想必都用过UIAlertVIew或者UIActionSheet.UIAlertVIew 可以弹出一个出现在屏幕中间的提示视图,给用户展示信息,并让用户自己选择操作,UIActionSheet可以弹出一个选择列表,让用户选择列表中的某一项操作.使用UIAlertVIew和UIActionSheet非常简单,以下是一个简单的示例代码: //UIAlertView - (void)someButtonClicked {//初始化AlertView UIAlertView *alert…
  1.ios视频音频边缓存边播放,缓存时可以在已下载的部分拖拽进度条. 3.无论是下载到一半退出还是下载完退出,已缓存的数据都存到自己指定的一个路径.如果已下载完,下次播放时可以不再走网络,直接播放本地文件. (具体效果看唱吧4.1版本以后的视频效果吧) 用到的几个类: 2.MPMoviePlayerController 实现步骤: 2.在本地开一个http server,拼一个本地地址(http://127.0.0.1:xxxx/xxx.mp4),丢给MPMoviePlayerControl…
引言   本系列文章作者是安卓开发,以安卓开发的视角学习IOS小组件,记录一下踩坑记录,如有讲得不对的地方,路过大佬多包涵.如果你是想深入学习小组件,建议您顺着笔者的编号顺序阅读本系列文章.如果曾经了解过,只需要了解部分,则可以挑选来看.另外本系列文章中代码全部是Swift语言编写. 本文大纲 小组件是什么? 小组件概述 小组件开发备注 小组件实现原理 小组件是什么? 小组件概述 WidgetKit 通过在 iOS 主屏幕或 macOS 通知中心放置小组件,让用户可以随时访问 App 中的内容.…
引言   经过前面几篇文章阅读,已经掌握开发一款小组件的基本技能了,接下来开始掌握一些相对高级一点的技能.本文创建一个可配置小组件,通过修改时间类型,让Text空间显示不同格式的时间. 本文大纲 添加动态配置 Custom Intent Definition 可配置小组件框架代码解析 修改 .intentdefinition 文件实现修改时间类型 代码读取配置信息,实现动态布局 添加动态配置 方式1:新建组件的时候勾选 "Include Configuration Intent" 复选…
引言   前面的章节学完已经让我们可以顺利实现一个小组件了,但是小组件里面的数据如何刷新的呢,本节内容将讲解IOS的刷新机制. 大纲 系统如何管理小组件刷新 Timeline刷新机制 Timeline刷新机制代码实现 刷新策略建议 时钟刷新策略(只有小时分钟,没有秒) 主动请求重新刷新 系统如何管理小组件刷新 WidgetKit在一个单独的进程中渲染小组件视图 即使小组件窗口显示在屏幕上,widget extension 也不会持续处于活动状态 为了管理系统负载,WidgetKit使用预算来分配…
以下是在iOS中最简单的界面切换示例.使用了多个Controller,并演示Controller之间在切换界面时的代码处理. 实现的应用界面: 首先,创建一个window-based application,即: 使用window-base application的目的是,尽量从最基本的情况下说明程序的编写过程.项目创建好后,即可以编译运行,执行结果是白屏页面: 编写第一个视图和控制器,我管它叫Topic,即主题,因此控制器命名为:TopicController,视图TopicView. 创建T…
首先后台进程创建一个PendingIntent对象,其中PendingIntent中包含一个真正的Intent,创建完成后将此PendingIntent对象交给桌面控件所在的进程,当用户点击桌面控件或者其他情况时,触发Intent,从而可实现启动一个Activity.发送一个Broadcast.启动一个Service. 创建PendingIntent的方法,其中的三个方法都是PendingIntent的静态方法: 1.getActivity(Context context,int request…
涉及对象: 两个输入框,一个按钮. 代码功能: 随时监测输入框内容的长度变化,并在输入内容不符合预设要求时,立即改变输入框背景色. 在两个输入框的内容都符合预设要求时,按钮才可用. RACSignal *validField1Signal = [self.field1.rac_textSignal map:^id(NSString *text){ return @([self isValidInput:text]); }]; RAC(self.field1,backgroundColor) =…
首先GCD两个名词: 队列 同步异步. 队列: 任务放到队列,队列中的任务执行方式取决于执行队列中任务的方式---同步异步. 串行队列: 任务顺序执行,可以叫阻塞队列.只有前面任务完成才执行后面的. 并发队列: 开启新的线程执行任务,不会阻塞主线程. 同步异步:是队列中任务执行的方式,同步也就是任务在一个线程中顺序执行属于会'阻塞'主线程,异步:不会阻塞主线程,可以开启新线程. dispatch_sync(queue, block) //同步执行 dispatch_async (queue, b…
为什么 “简单工厂原理” 叫简单工厂,因为这个工厂类不是抽象类,而是实体类,工厂本身就是一个具体的对象. 写一个例子演示简单工厂模式: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>…
什么是JSON   JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组   {“name" : “Jack", “age" : 10} {“name” : [“jack”, “rose”, “jim”]}   标准JSON格式的注意点: key必须用双引号 要想从JSON中挖掘出具体的数据,需要对JSON进行解析   JSON解析方案 在iOS中,JSON的常见解…
http 是计算机之间通讯协议的比较简单的一种.在iPhone上,由于没有同步数据和文件共享,所以实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器.在这篇帖子中,我将简单的演示第三方的http 服务器的使用. 示例程序运行如下(在PC端输入设备的IP和端口,便可选取当前PC的文件进行上传至当前的设备) 该服务器涉及的相关类如下图所示 代码实现,创建一个自己需求的HttpConnection类继承于第三方的HttpConnection,代码如下 MyHTTPConnect…
步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view Application 3.填写项目名称单机Next 4.ViewController.h中定义成员和方法 // // ViewController.h // TestCalculator4 // // Created by heyonggang on 13-11-28. // Copyright (c) 2013年 MiracleHe.…
在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题,你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨.本文主要从概念上把“数据存储”这个问题进行剖析,并且结合各自特点和适用场景进行全面抛析.. NSUserDefaults NSUserDefaults被设计用来存储设备和应用的配置信息,它通过一个工厂方法返回默认的.也是最常用到的实例对象.这个对象中储存了系统中用户的配置信息,开发者可以通过这个实例对象对这些已…