#hashtag Styling in SwiftUI
Using the function below you can easily create a Text
view in SwiftUI with custom formatting for the hashtags contained in the text.
func textWithHashtags(_ text: String, color: Color) -> Text {
let words = text.split(separator: " ")
var output: Text = Text("")
for word in words {
if word.hasPrefix("#") { // Pick out hash in words
output = output + Text(" ") + Text(String(word))
.foregroundColor(color) // Add custom styling here
} else {
output = output + Text(" ") + Text(String(word))
}
}
return output
}
Example Use
struct ContentView: View {
var body: some View {
textWithHashtags("Here's a quick and easy way to include #hashtag formatting in your #SwiftUI Text Views. Learn how in the #Tutorial here.", color: .red)
.font(Font.custom("Avenir Next", size: 20))
.bold()
}
}