Ios开发学习iOS 你不知道的新鲜事iOS 开发成长中心

iOS Widget开发

2017-08-31  本文已影响264人  LYSNote

一.什么是Widget?

百度百科:

百度百科.png

其实Widget就是一个小组件,独立于应用之外的又一个新小应用,但是和主应用之间又有着一定的关系

效果图:

支付宝效果.PNG

下面估计大家都知道是3DTouch,而上面的就是Widget

二.那么怎么实现?

1.首先因为Widget是一个独立的小应用,因此证书也需要另外的一套,也就是说如果你要开发带有这样功能的APP,你需要两套证书,一套是主项目的,另外一套是widget的,至于证书的创建,在这里我就不多说了,具体流程大家可以网上去找.

主项目证书的创建流程和普通的创建流程一样,widget的证书创建流程和主项目的创建流程有一点区别

首先:

注意一:

Bundle ID:widget的Bundle Id是在主项目的Bundle ID的基础上加的,例:

主项目:

主项目Bundle ID.png

widget:

widget项目Bundle ID.png

注意二:widget的App ID创建的时候要配置 App Groups项,例:

主项目:

主项目App Groups配置.png

widget:

widget项目App Groups配置.png

至于怎么配置,其实很简单,大家在创建APP ID的时候,在下面第一项勾选App Groups

配置App Groups.png

创建APP ID之后,需要去创建一个App Groups

App Groups.png

然后把创建后的App Groups配置到对应的APP ID里面即可,这样证书就可以使用了

2.接下来,就是创建一个项目或者是在你想要添加widget的项目里面找到

添加target.png

选择

选择.png

这个时候,你会看到项目目录里面多了

目录结构.png

配置之前给Widget添加的App Groups

widget配置App Groups.png

对于 我来说,习惯了纯代码去开发,所以,果断删掉storyboard

纯代码.png

其实这个时候你运行项目,已经有效果了

效果图.PNG 效果图.PNG

细心的人,可能还有这么个发现:

日历折叠效果.PNG 日历展开效果.PNG

这个日历有一个展开和折叠的效果,那么怎么实现的呢,看下面

展开和折叠效果实现.png 展开和折叠效果实现.png

调整widget内边距

调整widget内边距.png

刷新数据

刷新数据.png

跳转到主应用

widget项目:

配置URL Schemes.png widget项目.png

主项目:

主项目:.png

至于两者之间的传值,这里不多讲

最终效果:

最终效果.PNG 最终效果.PNG

如果widget里面要使用主项目里面的类,需要做下面操作

widget里面要使用主项目里面的类.png
上一篇 下一篇

猜你喜欢

热点阅读