Swiftpack.co - n3d1117/ExpandableText as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by n3d1117.
n3d1117/ExpandableText v1.0.0
App Store-like SwiftUI expandable text view with "more" button, iOS 13+, fully customizable
⭐️ 25
🕓 1 year ago
iOS
.package(url: "https://github.com/n3d1117/ExpandableText.git", from: "v1.0.0")

ExpandableText

build swift-version ios-version xcode-version license

An expandable text view that displays a truncated version of its contents with a "more" button that expands the view to show the full contents.

iOS 13+ compatible, fully customizable, written in SwiftUI.

Installation

Available via the Swift Package Manager. Requires iOS 13+.

https://github.com/n3d1117/ExpandableText

Features

  • Customizable line limit
  • Customizable font, color, and more button appearance with SwiftUI-like modifiers
  • Automatically hide more button if the whole text fits within the view
  • Support right-to-left languages
  • Support re-collapsing text by tapping on expanded text body (by @JThramer)
  • Support custom expand animation
  • Automatically trim multiple new lines when truncated (can be disabled)

Usage

Basic usage

import ExpandableText

let loremIpsum = """
Lorem ipsum dolor sit amet, consectetur adipiscing 
elit, sed do eiusmod tempor incididunt ut labore et 
dolore magna aliqua. Ut enim ad minim veniam, quis 
nostrud exercitation ullamco laboris nisi ut aliquip 
ex ea commodo consequat. Duis aute irure dolor in 
reprehenderit in voluptate velit esse cillum dolore 
eu fugiat nulla pariatur.
"""

ExpandableText(loremIpsum)

Basic usage demo

Customization options

ExpandableText(loremIpsum)
  .font(.headline)
  .foregroundColor(.secondary)
  .lineLimit(4)
  .moreButtonText("read more")
  .moreButtonFont(.headline.bold())
  .moreButtonColor(.red)
  .enableCollapse(true)
  .expandAnimation(.easeInOut(duration: 2))
  .trimMultipleNewlinesWhenTruncated(false)

Customization demo

Credits

License

Available under The Unlicense license. See LICENSE file for further information.

GitHub

link
Stars: 25
Last commit: 9 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Release 1.0.0
1 year ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics