标注 7.5.0

标注 7.5.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最新发布2018 年 1 月
SwiftSwift 版本4.0
SPM支持 SPM

Christoffer WinterkvistVadym MarkovHyper Interaktiv AS 维护。



标注 7.5.0

Spots logo

标注 是一个用于构建组件化 UI 的跨平台视图控制器框架。其内部架构使用通用的视图模型,可以将它们转换为 JSON,也可以将 JSON 转换为视图模型。所以,将 UI 声明转移到后端就像做饼一样简单。
数据源和代理设置由 标注 处理,因此您不需要手动进行此操作。公共 API 中充满了执行变异的便捷方法,使用起来就像处理常规集合类型一样简单。

目录

Spots Icon

开始使用标注

如果您想要开始使用 标注,我们建议您查看我们的 开始指南

起源故事

我们撰写了一篇 Medium 文章,讲述了我们如何以及为什么构建 标注
您可以在以下链接中找到它:触动灵感甜点

通用支持

苹果对通用应用程序的定义是 iPhone 和 iPad。标注更进一步,为每个平台定制了一个控制器来满足您所有与 UI 相关的更新需求。在内部,一切都必须遵循相同的共享协议。这意味着当您为 iOS、tvOS 或 macOS 开发时,可以获得统一的使用体验。

使用方法

使用以下链接深入了解标注的工作方式。

它是如何工作的?

在标注的顶层,您有 标注控制器,它是您视图控制器的替代品。

标注控制器 内部,您有一个 标注滚动视图,它处理您添加到数据源的组件的线性布局。它还负责为用户提供统一的滚动体验。除了具有水平滚动的组件外,所有底层组件的滚动都已被禁用。

那么滚动是如何工作的呢?当用户滚动时,SpotsScrollView会计算其子元素的偏移量和大小。通过这种技术,您可以轻松创建包含列表、网格和轮播图等具有如黄油般顺滑滚动体验的屏幕。通过动态更改子元素的大小和偏移量,SpotsScrollView还保证了可重用视图的分配和释放 выполнения как вы ожидаете их.
SpotsScrollView使用KVO对任何新增的视图执行,因此如果某个组件更改了高度或位置,整个布局将自动无效化并重新绘制,就像预期的那样。

SpotsController支持多个组件,每个组件代表其自己的UI контейнер и содержит свою собственную источник данных. Компоненты все совместно используют одну и ту же модель данных, известную как ComponentModel,она включает в себя макет, взаимодействие и данные модели. Компонент получает свои супер-силы от расширения протоколов, такие как изменения, обработка макета и удобные методы доступа к информации модели.

关键特性

  • JSON-совместимые Views, которые могут быть предоставлены на вашем(back-end).
  • Живая правка.
  • Кэширование view для контроллеров, таблиц и коллекций.
  • Поддерживает отображение нескольких коллекций, таблиц и обычных видов в одном контейнере.
  • Онлайн-загрузка и обновление сторон
    Настройте делегатов, которые соответствуют общественным протоколам в SpotsController.
  • Не нужно реализовывать свой источник данных, каждый Component имеет
    ownt set of Items,
    которые поддерживаются внутри и доступны вам, если вы.q решите
    изменить их.
  • Элементная конфигурация для регистрации видов.
    Это улучшает повторное использование кода и помогает оформить ваше приложение, а в конечном итоге поддерживать его консистентность.
  • Использование богатого API для добавления, предшествия, вставки, обновления или
    удаления Items.
  • Есть встроенная поддержка обычных вида внутри как коллекций, так и таблиц.
    Напишите один вид и используйте его во вашем приложении, когда и где вы хотите использовать его.
  • Поддерживает состояния видов, такие как普通ное, выделенное и выбранное.
  • Кэширование высоты вида, улучшающее производительность, так как cada每个 вид имеет высоту, хранящуюсяalculate что.
    на модели.
  • Поддерживает несколько видов внутри одной и той же темы данных, больше не requires уродливых if-statement в вашем исполнении;
  • Мягкие и твердые обновления UI компонентов.
  • Поддерживает как views, созданные программированием, так и вид, основанные на nib.
    Spots справляется с этим за вас, используя реестр видеов.

安装

Spots доступен через CocoaPods. Чтобы установить
его, просто добавьте следующую строку в ваш Podfile

pod 'Spots'

Spots также доступен через Carthage. Чтобы установить его, добавьте следующее customization к вашему Cartfile

github "hyperoslo/Spots"

История изменений

Ищете историю изменений? Вы можете найти ее здесь

依赖关系

  • Кэширование
    Используется для кэширования ComponentModel и Item при initializeinitialize对象的 SpotsController или CoreComponent с ключеем кэширования.

作者

Hyper сделал это с❤️. Если вы используете эту библиотеку, возможно, мы хотим нанимать вас! Отправьте нам email на [email протекция & nbsp; protected价 nbsp;](Письмо второй контекст-of-protected one).

Приносить вклад

Мы будем рады, если вы внесете вклад в Spots прочитайте файл CONTRIBUTING, для получения болеeg更多信息.

信誉

许可

Spots 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。