Skip to content

NuPlay/ExpandableText

Repository files navigation

ExpandableText 😎 (SwiftUI)

version Swift: 5.1+ iOS: 13.0+ license

Expand the text with the "more" button

example

Get Started

import SwiftUI
import ExpandableText

struct ExpandableText_Test: View {

    @State private var sampleText: String = "Do you think you're living an ordinary life? You are so mistaken it's difficult to even explain. The mere fact that you exist makes you extraordinary. The odds of you existing are less than winning the lottery, but here you are. Are you going to let this extraordinary opportunity pass?"
    
    var body: some View {
        ExpandableText(text: sampleText)
            .font(.body)//optional
            .foregroundColor(.primary)//optional
            .lineLimit(3)//optional
            .expandButton(TextSet(text: "more", font: .body, color: .blue))//optional
            .collapseButton(TextSet(text: "less", font: .body, color: .blue))//optional
            .expandAnimation(.easeOut)//optional
            .padding(.horizontal, 24)//optional
    }
}

Modifier(optional)

Modifier Default
.font(_ font: Font) .body
.lineLimit(_ lineLimit: Int) 3
.foregroundColor(_ color: Color) .primary
.expandButton(_ expandButton: TextSet) TextSet(text: "more", font: .body, color: .blue)
.collapseButton(_ collapseButton: TextSet?) nil(If it's nil, it doesn't show)
.expandAnimation(_ animation: Animation?) .none