DSTextView is to get rid of placeholder and its color issue of UITextView of UIKit in swift 5. It privide most of the delegate methods to use TextView and also gives you character count. You can set placeholder from Interface Builder.
- [x] Awesome UITextView
- [x] Get Characters count
- [x] Set color of the placeholder
- [x] Set placeholder in interface builder
- [x] Easy usage
- [x] Supports iOS, written in Swift 5
DSTextView is available through CocoaPods. To install
it, simply add the following line to your Podfile and run
Then you can import it when you need
In the example you will see a textview with placeholder that can be customized and used in your project. Once you've installed the pod, follow next steps. It's really simple:
UIView in your xib / storyboard
UIView in the xib where you want to place DSTextView. Then you have to input the class name in the view, you can change this in the identity inspector of the interface builder. Remember to input
DSTextView in both (Class & Module)
Then, connect the IBOutlet in your UIViewController
@IBOutlet weak var textView: DSTextView!
You can set properties of
DSTextView on your requirement.
textView.padding = 12 // Same padding will be used for all sides | by default padding is 12 textView.font = UIFont.systemFont(ofSize: 15) // Font for placeholder and DSTextView | by defaulr system font of size 15 textView.editingAllowed = true // Editing is allowed or not | by default allowed textView.emojiAllowed = true // Emojis are allowed or not | by default allowed textView.maxLength = 200 // Max length of text | default is 200 textView.returnKeyType = .default // Return type of the keyboard textView.keyboardType = .default // Keyboard type of the DSTextView textView.showDoneButton = true // Show toolbar or not with done button to dismiss DSTextView // Designable Properties textView.placeholder = "Write Something..." // Placeholder Text textView.placeholderColor = UIColor(white: 0.6, alpha: 1.0) // Placeholder Text textView.textColor = UIColor(white: 0.1, alpha: 1.0) // DSTextView Color textView.delegate = self // You can set through Storyboard also
The first way to customize this
DSTextView is implementing delegate. These methods handle the most common use cases. Both of them are optional. You can set delegate through storyboard itself.
textView.delegate = self
In order to add more functionality in your app, you must implement
// Called when typing is started func dsTextViewDidChange(_ textView: UITextView) func dsTextViewDidEndEditing(_ textView: UITextView) func dsTextViewDidBeginEditing(_ textView: UITextView) func dsTextViewCharactersCount(_ count: Int)
Dharmendra Sinha, [email protected]