惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
M
MIT News - Artificial intelligence
腾讯CDC
B
Blog RSS Feed
H
Help Net Security
J
Java Code Geeks
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
博客园_首页
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
博客园 - Franky
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 叶小钗
Martin Fowler
Martin Fowler

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
[送码] JSBox 更新,让你在 iOS 14 中实现任意效果小组件 - ...
2020-11-02 · via 少数派

桌面小组件

JSBox 近期发布了 2.12.0 版本,除了修复了一些在 iOS 14 上的 bug 以外,也带来了对于桌面小组件的支持。我们为这个版本准备了很长的时间,其中一个很重要的原因,是希望可以用脚本实现任意想要的小组件,而不是有限的一些效果。

其实 JSBox 从很早期版本就支持用脚本来实现通知中心小组件,用户可以用脚本实现任何界面,支持丰富的交互。大家都知道,iOS 14 的桌面小组件和之前的通知中心小组件有很大的不同,包括用户体验以及底层的技术实现。

关联阅读:一次对 iOS 桌面的大手术,开发者怎么看 iOS 14 的 Widgets 变化

所以我们从开发一开始就定下了一个目标:如果一个小组件可以用原生 iOS 技术实现,它就可以用 JSBox 脚本实现。

工作方式

JSBox 同时支持三种尺寸的小组件,在添加过程中会对每一步进行引导。设置方法是像 Apple 官方教程 提到的那样,进入编辑模式然后选择一个支持小组件的脚本。

此外,桌面小组件支持添加多个,你也可以为每一个小组件设置不同的参数,方便脚本在运行的时候提供不同的数据。

设置小组件

应用内预览

与其它 JSBox 脚本一样,你可以使用 VS Code 进行开发,代码可以推送到设备上运行。

为了更方便开发和测试,我们在应用内提供了与小组件展示效果一致的预览效果,同时提供三种尺寸,你可以在应用内测试完毕之后,再将其应用在桌面。

应用内预览

完备的实现

JSBox 对小组件的支持是完备的,包含了两个方面:

  • 更新方式可以和原生小组件完全一样
  • 可以灵活地实现各种界面

例如,你可以用脚本实现特定的刷新方式,也可以一次性提供多个界面,系统会按指定的时间去展示。

完善的加载和更新机制

在界面方面,JSBox 支持了绝大部分可以在通知中心使用的组件,例如:文本图片链接渐变。也可以实现绝大部分效果,比如:颜色透明度模糊旋转等等。

用 JSBox 实现的小组件

在布局方面也没有任何限制,对界面布局策略的完备支持,可以让你把控件灵活地放到想要的位置。

此外,JSBox 的绝大部分开发接口都可以直接在小组件上使用,例如:网络请求缓存和数据库日历和提醒事项等等。区别仅仅在于,小组件上实现界面的方式不一样。

具体的使用细节,请移步到我们准备的 开发文档

一些例子

为了降低上手难度,我们准备了一些例子。这些例子包括了复杂界面的实现,以及网络请求的最佳实践。

WidgetDoodles

将您的涂鸦作品放置到桌面:

Apple Dev News

在桌面显示 Apple 开发者新闻:

Apple Dev News

QR Code

在桌面显示任意二维码:

QR Code

XKCD

在桌面随机显示一张 xkcd.com 的漫画:

XKCD

Clock

在桌面显示一个实时更新的简单时钟:

Clock

以上的例子都可以在 GitHub 上面找到,欢迎参考。

此外,你也可以加入我们的 Telegram 群组获取更多社区小伙伴开发的小组件。

总结

恭喜 ndlg、小强是个坏蛋、Aixtuz、女口田木、Ryoma_Kal 获得 JSBox 兑换码,请留意站内私信。

对于 JSBox 的小组件功能介绍就到这里了,欢迎大家提出意见和建议。我们之后会以开发者的角度,分享更多「动态实现小组件」的技术细节,敬请期待。

感谢阅读。

欢迎在评论区留下你对于 JSBox 此次更新的建议和看法,我们会抽取其中 5 条建设性的评论,送出 JSBox 高级版一年的兑换码。

你可以在 App Store 购买 JSBox。

> 下载少数派 客户端 、关注 少数派公众号 ,发现更多实用 App 📱

> 实用、好用的 正版软件,尽在 少数派「双十一」活动 🚀