BubblePictures 2.1.3

BubblePictures 2.1.3

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年7月
SPM支持 SPM

Kevin Belter 维护。



  • Kevin Belter

Bubble Pictures

Bubble Pictures

Bubble Pictures

(图片来自使用 Bubble Pictures 的 Luv.it App)

*创作者 Kevin Belter.

Version License Platform

关于

这个库用于以美观的方式显示图片,如果您想显示用户点赞的帖子等情况,那么 BubblePictures 是您的最佳选择。BubblePictures 支持所有屏幕尺寸和方向。并且非常易于使用。您可以随意下载示例代码并尝试不同的尺寸 :P 如果您对此有疑问,请通过我的电子邮件与我联系。用爱和咖啡制作而成 :).

示例

要运行示例项目,请克隆存储库,然后首先从 Example 目录运行 pod install

要求

iOS 9.0 或以上

安装

BubblePictures 通过 CocoaPods 提供。要安装它,只需在您的 Podfile 中添加以下行

pod 'BubblePictures'

用法

要使用它,只需添加一个所需大小的 CollectionView。

然后,你必须为每个要显示的泡泡图片创建一个 BPCellConfigFile。BPCellConfigFile 初始化器有两个值

  • imageType: (这是一个支持 3 个不同值的枚举 [UIImage, URL 或 UIColor])
  • title: 这是一个字符串,位于泡泡图片前的标题。

在拥有您的 BPCellConfigFile 数组后,您还必须有一个 bubblePicture 实例的引用,以便您可以在 ViewController 中这样使用它,例如

private var bubblePictures: BubblePictures!

最后,在您的 ViewDidLoad 中,您可以初始化 bubblePictures 如下

bubblePictures = BubblePictures(collectionView: {{YOUR_COLLECTION_VIEW}}, configFiles: {{YOUR_BPCellConfigFiles_ARRAY}})

就是这样,现在您应该能够完美地看到泡泡正在渲染。

代理

如果您想了解用户何时点击一个泡泡,则必须采用 BPDelegate 协议。它为此目的提供了 2 个方法

  • func didSelectTruncatedBubble()
  • func didSelectBubble(at index: Int)

使用这些方法,您可以在用户点击泡泡时实现任何所需操作。

请记住,通过这样做在您的 bubblePictures 实例中标记您现在是代理

bubblePictures.delegate = self

布局配置

如果您想配置布局,必须在初始化器中注入 layoutConfigurator。

layoutConfigurator 是一个结构体,具有以下值

  • backgroundColorForTruncatedBubble: 在泡泡因屏幕空间而被截断的情况下,该颜色用于背景颜色。
  • fontForBubbleTitles: 如果你想使用其他字体,可以在这里传入气泡标题的字体。
  • colorForBubbleBorders: 例如,如果你在collectionView下方有一个黑色的背景,你应该传入UIColor.black以实现良好的布局。
  • colorForBubbleTitles: 这是气泡标题的颜色。
  • maxCharactersForBubbleTitles: 这是每个气泡标题的最大字符数。
  • maxNumberOfBubbles: 如果你想为显示的气泡数量设置一个硬编码的值,你可以添加这个属性。(如果数量大于整个屏幕,则将显示适合屏幕的最多气泡数)
  • displayForTruncatedCell: 如果你不想BubblePictures计算截断单元格中的数字,你可以自己指定一个。
  • widthForBubbleBorders: 气泡的边框宽度。
  • bubbleImageContentMode: 气泡中图像的内容模式。
  • distanceInterBubbles: 每个气泡之间的距离,默认值是气泡大小的三分之一个。
  • alignment: 气泡的对齐方式,如果你想让它们靠右或靠左。

因此,你可以创建一个布局配置器,如下所示

let layoutConfigurator = BPLayoutConfigurator(backgroundColorForTruncatedBubble: UIColor.hex("D75A4A"), fontForBubbleTitles: UIFont(name: "HelveticaNeue-Light", size: 17.0)!, colorForBubbleBorders: UIColor.white, colorForBubbleTitles: UIColor.white, maxCharactersForBubbleTitles: 3)

然后将其注入初始化器中

bubblePictures = BubblePictures(collectionView: {{YOUR_COLLECTION_VIEW}}, configFiles: {{YOUR_BPCellConfigFiles_ARRAY}}, layoutConfigurator: layoutConfigurator)

更新历史

*版本 2.1.3

  • 将布局配置器中的'numberForTruncatedCell'属性更改为'displayForTruncatedCell'。该属性现在是一个支持枚举的类型,包括
    • 数字(唯一的前一个可用值)
    • 文本
    • 图像类型(URL、图像或颜色)

感谢 Valgrin 创建PR并添加此功能 :)

作者

Kevin Belter, [email protected]

部分图像由 Carlos Nicolas 创作并制作 Kans

许可证

BubblePictures 使用MIT许可证。更多信息请参阅LICENSE文件。