您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>通讯/手机编程>

实现iOS-Widget的方法详解

大小:0.3 MB 人气: 2017-09-25 需要积分:1

  一、Widget总览

  Widget 是 iOS8 推出第一版,在iOS 10 进行大幅度的优化

  Widget可以让用户更快地访问到其感兴趣的内容,官方的说法是用来呈现功能比较简单的,交互性不强的东西,在不打扰或者中断用户使用当前应用的前提下完成自己的功能点。对于这个说法,国内的开发者表示呵呵,因为几乎所有的 Widget都绑定了对应的点击事件

  二、Widget代码实现

  因为 Widget 属于单独的进程,因此需要再新建一个target:File -》 New -》target

  实现iOS-Widget的方法详解

  初次构建 UI 时,运行 Widget 后会发现,Widget左侧距离屏幕左侧始终有一段距离,导致效果不佳,可以通过下面的代理方法消除间距

  // 取消widget默认的inset,让应用靠左

  - (UIEdgeInsets)widgetMarginInsetsForProposedMarginInsets:(UIEdgeInsets)defaultMarginInsets {

  return UIEdgeInsetsZero;

  }

  Widget 的收起、展开 则是通过这个代理方法:

  /**

  activeDisplayMode有以下两种

  NCWidgetDisplayModeCompact, // 收起模式

  NCWidgetDisplayModeExpanded, // 展开模式

  */

  - (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode withMaximumSize:(CGSize)maxSize {

  if(activeDisplayMode == NCWidgetDisplayModeCompact) {

  // 尺寸只设置高度即可,因为宽度是固定的,设置了也不会有效果

  self.preferredContentSize = CGSizeMake(0, 110);

  } else {

  self.preferredContentSize = CGSizeMake(0, 310);

  }

  }

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!