Atributika:Swift库将HTML风格文本转换为NSAttributedString





项目名称:Atributika

项目概述

Atributika是一个Swift编写的开源库,它提供了一种简单的方法来构建NSAttributedString,通过识别和样式化类似于HTML的文本、标签、链接、电话号码等。此外,AtributikaViews库提供了UILabel和UITextView的替代品,能够显示可高亮和可点击的链接,并支持丰富的自定义和适当的辅助功能支持。

功能特点

  • NSAttributedString构建器:提供构建NSAttributedString的工具。

  • 标签识别和样式化:识别HTML风格标签并应用样式。

  • 哈希标签和提及识别:识别哈希标签(#something)和提及(@someone)。

  • 链接和电话号码识别:识别并样式化链接和电话号码。

  • 正则表达式和NSDataDetector模式识别:识别并样式化正则表达式和NSDataDetector模式。

  • 链式操作:允许将上述所有功能链式组合以解析复杂字符串。

  • 清晰的API:提供清晰且富有表现力的API来构建样式。

  • 独立检测工具集:提供一套独立的检测工具集,可供单独使用。

  • 多平台兼容:与iOS、tvOS、watchOS和macOS兼容。

示例代码

以下是Atributika的一些使用示例:

检测和样式化标签

let b = Attrs().font(.boldSystemFont(ofSize: 20)).foregroundColor(.red)
label.attributedText = "Hello <b>World</b>!!!".style(tags: ["b": b]).attributedString

检测和样式化哈希标签和提及

let str = "#Hello @World!!!"
    .styleHashtags(Attrs().font(.boldSystemFont(ofSize: 45)))
    .styleMentions(Attrs().foregroundColor(.red))
    .attributedString

检测和样式化链接

let str = "Check this website http://google.com"
    .styleLinks(Attrs().foregroundColor(.blue))
    .attributedString

检测和样式化电话号码

let str = "Call me (888)555-5512"
    .stylePhoneNumbers(Attrs().foregroundColor(.red))
    .attributedString

集成方法

Atributika可以通过Swift Package Manager、Carthage和CocoaPods进行集成。

  • Swift Package Manager:在Package.swift文件中添加依赖。

  • Carthage:在Cartfile中添加github "psharanda/Atributika"

  • CocoaPods:在Podfile中添加pod "Atributika"pod "AtributikaViews"

或许喜欢

ConfettiWithSpriteView:基于SpriteKit与SwiftUI构建的Confetti五彩纸屑

SwiftUI库ConfettiWithSpriteView,利用SpriteKit创建动态彩带效果,支持iOS、watchOS和visionOS,易于集成和自定义。

最近更新 2024-12-11

FlowStacks:为SwiftUI导航添加超能力

FlowStacks是一个SwiftUI库,它扩展了NavigationStack API,允许开发者使用统一的API进行页面推送、展示sheet和全屏覆盖,支持iOS、tvOS、watchOS和macOS。

最近更新 2024-12-13

WaterTracker: 跨平台纯SwiftUI开发的喝水追踪应用

WaterTracker是一款跨iOS、iPadOS和watchOS平台的喝水追踪应用,使用SwiftUI开发,支持HealthKit和CloudKit数据同步,无广告、无内购。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1