在iOS8发布以后,Apple官方发布了,有关第三方开发软件可以集成进手机的通知中心,对于我们这帮开发来说,无疑是一个很新鲜的玩意儿,都巴不得赶紧将自己的App加入Widget的功能扩展。
那么关于widget的功能扩展需要做的步骤,我简单的分享一下我个人的简单过程。不对望斧正。我将会分为两次分别概述widget的基本添加以及布局和数据共享部分。
首先,在自己的在xcode的菜单项,为当前项目添加一个新的target。然后选择Application Extension 类型选Today。
接下来你的项目里面会多出来一个Target,名字就是你自己的命名,在这里也会看到多出来的一个Target:
多出一组文件夹,内部会有TodayViewController的文件,还有一个Storyboard。
点击查看Storyboard,会出现一个界面:
这就是Apple为你生成的最初多widget扩展模版,你可以在这里做出要显示在通知中心的要显示的内容,至于操作步骤,根操作一半的xib是一样的。先跑起来试试看效果Command+R 结果如图
好了,暂时性的目的是达到了,效果已经展示出来了。
那在build或者run的时候,选择这两个不一样Target,会有什么不一样的东西呢?
选择宿主程序的时候,根往常一样,程序会立即跑到你的设备上,你可以随意的调试程序,debug呀等等。
但是在选择扩展的时候,run时,会出现这么一个界面
你可以在这里选择你的宿主程序,然后点击run。这时候,你就可以对扩展程序进行debug了。否则,是无法调试扩展里面的代码的。
上面已经基本很详细的介绍了widget的添加步骤,那么这次,来说下关于widget的布局。
由于是通知中心的扩展程序,鉴于用户体验,所以建议布局的时候,要避免你所设计的View占据过大的面积,适合就好。否则可能适得其反,让用户会对你的扩展感觉到厌恶。
widget通知中心扩展,由于是在iOS8.0发布的时候,才对第三方App提供支持的,所以,在widget布局的时候,需要注意一些内容.
再布局控件的时候,如果不用AutoLayout去约束控件相对位置的话,就只是简单的扩展View 的大小,运行起来,View的大小还是不会变的,只有原始的一个尺寸。所以在布局的时候,在放大View之后,布局子控件,要通过AutoLayout去约束控件位置,就不会出现view内控件无法正常显示的问题。