Swiftpack.co - kenmueller/TextView as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by kenmueller.
kenmueller/TextView v1.5.0
The missing TextView in SwiftUI
⭐️ 246
🕓 2 years ago
iOS tvOS
.package(url: "https://github.com/kenmueller/TextView.git", from: "v1.5.0")

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<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"
            )
        }
    }
}

You might also find these useful...

GitHub

link
Stars: 246
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

v1.5.0
3 years ago

06e6939ae4da03565889928cca65647f05fd2d67

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics