TextView
  • August 20, 2025

Download


  • File -> Swift Packages -> Add Package Dependency…
  • Select your project
  • Enter https://github.com/kenmueller/TextView for the package repository URL
  • Select Branch: master
  • Click Finish

Inputs


  • text: Binding<String>
  • isEditing: Binding<Bool>
    • The TextView will modify the value when it is selected and deselected
    • You can also modify this value to automatically select and deselect the TextView
  • placeholder: String? = nil
  • textAlignment: TextView.TextAlignment = .left
  • textHorizontalPadding: CGFloat = 0
  • textVerticalPadding: CGFloat = 7
  • placeholderAlignment: Alignment = .topLeading
  • placeholderHorizontalPadding: CGFloat = 4.5
  • placeholderVerticalPadding: CGFloat = 7
  • font: UIFont = .preferredFont(forTextStyle: .body)
    • By default, the font is a body-style font
  • textColor: UIColor = .black
  • placeholderColor: Color = .gray
  • backgroundColor: UIColor = .white
  • contentType: TextView.ContentType? = nil
    • For semantic purposes only
  • autocorrection: TextView.Autocorrection = .default
  • autocapitalization: TextView.Autocapitalization = .sentences
  • isSecure: Bool = false
  • isEditable: Bool = true
    • isSelectable: Bool = true
    • isScrollingEnabled: Bool = true
    • isUserInteractionEnabled: Bool = true
    • shouldWaitUntilCommit: Bool = true
      • For multi-stage input methods, setting this to false would make the TextView completely unusable.
      • This option will ignore text changes when the user is still composing characters.
    • shouldChange: TextView.ShouldChangeHandler? = nil
      • Of type (NSRange, String) -> Bool and is called with the arguments to textView(_:shouldChangeTextIn:replacementText:).

    Example


import SwiftUI
import TextView

struct ContentView: View {
@State var text = “”
@State var isEditing = false

var body: some View {
VStack {
Button(action: {
self.isEditing.toggle()
}) {
Text(“\(isEditing ? “Stop” : “Start”) editing”)
}
TextView(
text: $text,
isEditing: $isEditing,
placeholder: “Enter text here”
)
}
}
}

GitHub


View Github

YOU MIGHT ALSO LIKE...
KeyboardAvoider

 

Focuser

Focuser allows to focus SwiftUI text fields dynamically and implements ability move go through the form using Keyboard for iOS ...

OmenTextField

A better TextField for SwiftUI. A growing, multiline, auto-focusable TextField supporting bindable focus. This has been pulled out of my ...

iPhoneNumberField ☎️

Format phone numbers as they're typed—entirely in SwiftUI. 📱   Get Started | Examples | Customize | Features | Install | Pricing And it's as easy as

CurrencyText

CurrencyText provides lightweight libraries for formating text field text as currency, available for both UIKit and SwiftUI. Its main core, the CurrencyFormatter class, can also ...