美文网首页iOS
IOS Widget 开发笔录

IOS Widget 开发笔录

作者: 银河系抖腿冠军 | 来源:发表于2017-01-10 14:13 被阅读0次

    IOS widget开发笔录

    刚完成IOS widget开发,仿照UC头条,头条日报widget,附上效果图:

    折叠效果图 展开效果图

    目前实现的功能便是,如折叠效果图,左右两边的箭头可以进行图片和标题的切换;在展开图中,“换一批”按钮可以根据显示的数组数目,整组切换,当然,如果只有3组图片,这按钮会进行随机排序再显示。大于3组,例如4组,假设1,2,3,4。显示的是1,2,3,切换后便是4,1,2。“查看更多”则是跳转到应用内部,点击cell也是会跳到应用中。


    如何实现,就不多说了,网上的教程很多。在此记录下开发中遇到的问题:

    1:折叠的高度。不论是5,5s,6,6p等,都是110。

    2:展开按钮。在widget初始化的时候,最好能够使用:

    if([self.extensionContext respondsToSelector:@selector(setWidgetLargestAvailableDisplayMode:)]) {

    self.extensionContext.widgetLargestAvailableDisplayMode = NCWidgetDisplayModeExpanded;

    }

    把widget最为展开模式,不然的话,就有可能不显示右上角的折叠展开的按钮。

    3:适配6p的横屏。这是个很蛋疼的事情。首先,横屏和竖屏的frame值是会改变的,就需要接收到屏幕旋转的通知,在尝试了诸多方法后,

    - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator{}

    -(void)viewDidLayoutSubviews{}

    这两个方法是屏幕旋转后会触发的方法,在这两个方法里面自行判断下当前屏幕的尺寸,就知道是否为横竖屏。就可以调整控件的frame值了。

    4:3dTouch。若想要在3dtouch中显示你想要展示的widget,只需要在项目的plist文件中进行修改。

    后面是widget的bundle id

    5.头文件导入。在widget中创建PrefixHeader.pch文件,并在build settings - AppleLLVM 8.0-Language - Prefix Header中加入文件的路径:widget名称/PrefixHeader.pch即可

    相关文章

      网友评论

        本文标题:IOS Widget 开发笔录

        本文链接:https://www.haomeiwen.com/subject/isvkbttx.html