Skip to content

Commit 6f6f235

Browse files
committed
Add line break mode customization
1 parent baa7971 commit 6f6f235

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

Sources/SwiftUI-Utils/View/HTMLText/HTMLText+Environment.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ extension EnvironmentValues {
66
@Entry var htmlKerning: CGFloat = 0
77
@Entry var htmlFont: HTMLFont = .system
88
@Entry var htmlLineSpacing: CGFloat?
9+
@Entry var htmlLineBreakMode: NSLineBreakMode = .byTruncatingTail
910
}
1011

1112
extension View {
@@ -29,4 +30,8 @@ extension View {
2930
public func htmlLineSpacing(_ spacing: CGFloat?) -> some View {
3031
environment(\.htmlLineSpacing, spacing)
3132
}
33+
34+
public func htmlLineBreakMode(_ mode: NSLineBreakMode) -> some View {
35+
environment(\.htmlLineBreakMode, mode)
36+
}
3237
}

Sources/SwiftUI-Utils/View/HTMLText/HTMLText.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public struct HTMLText: UIViewRepresentable {
2323
@Environment(\.htmlKerning) var kerning
2424
@Environment(\.htmlFont) var font
2525
@Environment(\.htmlLineSpacing) var lineSpacing
26+
@Environment(\.htmlLineBreakMode) var lineBreakMode
2627

2728
let html: String
2829

@@ -38,7 +39,7 @@ public struct HTMLText: UIViewRepresentable {
3839
view.backgroundColor = .clear
3940
view.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
4041
view.textContainer.lineFragmentPadding = .zero
41-
view.textContainer.lineBreakMode = .byTruncatingTail
42+
view.textContainer.lineBreakMode = lineBreakMode
4243
view.textContainer.maximumNumberOfLines = lineLimit ?? 0
4344
view.textContainerInset = .zero
4445
view.accessibilityTraits = .staticText

0 commit comments

Comments
 (0)