Jon Chmura

4个组件

JPCActivityIndicatorButton

这是一个UIActivityIndicatorView和UIProgressView的嵌入式替代方案,它像UIButton一样跟踪触摸输入。在以下场景中可能很有用:* UIActivityIndicatorView的替代品 * UIProgressView的替代品 * 带有Google Material Design风格的UIButton的替代品 * 创建类似App Store应用中开始和停止下载的交互。

许可证: MIT

  • Swift

JPCDataSourceController

填充内容的表格和集合视图对于许多应用来说至关重要。然而,我看到了许多这个设计实现的不足。我认为Apple的表格和集合视图API倾向于引导开发者创建拥有数千行代码的视图控制器,其中大部分并不是真正的“视图控制器”职责(我知道我曾这样做过)。这违反了单一职责的SOLID设计原理,使得代码的可重用性很低。我认为数据源永远不应成为视图控制器的一部分。让视图控制器自由处理更合适的任务。以下是一些亮点:* DataSourceController类处理驱动表格和集合视图数据源的逻辑 * 数据源分为获取请求、支撑模型和单元格工厂 * DataSourceController中的状态机优雅地驱动获取、准备内容和重新加载数据 * 设置一组模型以组合多个数据源 * BackgroundView类在加载数据时显示活动视图,并且在加载数据失败时可以显示有用的错误消息 * 动画器使内容的变化动起来更加容易 * 支持嵌入式集合视图(如App Store中的) * 运行时的代码量最小 * 拉取刷新(即将推出) * 无限滚动(即将推出)

许可证: MIT

  • Swift

JPCLayoutToolbox

使用iOS自动布局管理视图可能是乏味的。这是一个扩展集合,使得简单的布局更简单。

许可证: MIT

  • Swift

JPCTabbedPageViewController

  • 基于UIPageViewController的iOSUITabBarController替代品
  • 标签在顶部以自定义可滚动UISegmentedControl的形式列出,带有图像或标题文本
  • 在页面之间滑动或从标签中选择

许可证: MIT

  • Swift