Need help with TextView?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kenmueller
156 Stars 31 Forks MIT License 45 Commits 11 Opened issues

Description

The missing TextView in SwiftUI

Services available

!
?

Need anything else?

Contributors list

TextView

The missing TextView in SwiftUI

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
  • isEditing: Binding
    • 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"
        )
    }
}

}

You might also find these useful...

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.