测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可 | MIT |
发布最新发布 | 2018 年 1 月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 Christoffer Winterkvist,Vadym Markov,Hyper Interaktiv AS 维护。
标注 是一个用于构建组件化 UI 的跨平台视图控制器框架。其内部架构使用通用的视图模型,可以将它们转换为 JSON,也可以将 JSON 转换为视图模型。所以,将 UI 声明转移到后端就像做饼一样简单。
数据源和代理设置由 标注 处理,因此您不需要手动进行此操作。公共 API 中充满了执行变异的便捷方法,使用起来就像处理常规集合类型一样简单。
如果您想要开始使用 标注
,我们建议您查看我们的 开始指南。
我们撰写了一篇 Medium 文章,讲述了我们如何以及为什么构建 标注
。
您可以在以下链接中找到它:触动灵感甜点
苹果对通用应用程序的定义是 iPhone 和 iPad。标注更进一步,为每个平台定制了一个控制器来满足您所有与 UI 相关的更新需求。在内部,一切都必须遵循相同的共享协议。这意味着当您为 iOS、tvOS 或 macOS 开发时,可以获得统一的使用体验。
使用以下链接深入了解标注的工作方式。
在标注的顶层,您有 标注控制器,它是您视图控制器的替代品。
在 标注控制器 内部,您有一个 标注滚动视图,它处理您添加到数据源的组件的线性布局。它还负责为用户提供统一的滚动体验。除了具有水平滚动的组件外,所有底层组件的滚动都已被禁用。
那么滚动是如何工作的呢?当用户滚动时,SpotsScrollView会计算其子元素的偏移量和大小。通过这种技术,您可以轻松创建包含列表、网格和轮播图等具有如黄油般顺滑滚动体验的屏幕。通过动态更改子元素的大小和偏移量,SpotsScrollView还保证了可重用视图的分配和释放 выполнения как вы ожидаете их.
SpotsScrollView使用KVO对任何新增的视图执行,因此如果某个组件更改了高度或位置,整个布局将自动无效化并重新绘制,就像预期的那样。
SpotsController支持多个组件,每个组件代表其自己的UI контейнер и содержит свою собственную источник данных. Компоненты все совместно используют одну и ту же модель данных, известную как
ComponentModel
,она включает в себя макет, взаимодействие и данные модели. Компонент получает свои супер-силы от расширения протоколов, такие как изменения, обработка макета и удобные методы доступа к информации модели.
SpotsController
.Component
имеетItem
s,Item
s.Spots доступен через CocoaPods. Чтобы установить
его, просто добавьте следующую строку в ваш Podfile
pod 'Spots'
Spots также доступен через Carthage. Чтобы установить его, добавьте следующее customization к вашему Cartfile
github "hyperoslo/Spots"
Ищете историю изменений? Вы можете найти ее здесь
ComponentModel
и Item
при initializeinitialize对象的 SpotsController
или CoreComponent
с ключеем кэширования.Hyper сделал это с
Мы будем рады, если вы внесете вклад в Spots прочитайте файл CONTRIBUTING, для получения болеeg更多信息.
SpotsScrollView
的基础,我们向您致敬。Spots 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。