Dismiss UITextView Keyboard When User Taps Away

In this short Swift code example we will learn how to create and customize UITextView programmatically in Swift.

  • Create UITextView programmatically
  • Position UITextView at the center of the view
  • Change UITextView background colour
  • Create UITapGestureRecognizer
  • Add UITapGestureRecognizer to main view
  • Add UITextView as a subview
  • Create a function to handle Tap away event
  
              
      import UIKit

class ViewController: UIViewController, UITextFieldDelegate  {

override func viewDidLoad() {
    super.viewDidLoad()
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    
    let textView = UITextView(frame: CGRect(x: 20.0, y: 90.0, width: 250.0, height: 100.0))
    self.automaticallyAdjustsScrollViewInsets = false
    
    textView.center = self.view.center
    textView.textAlignment = NSTextAlignment.justified
    textView.backgroundColor = UIColor.lightGray
    
    // Use RGB colour
    textView.backgroundColor = UIColor(red: 39/255, green: 53/255, blue: 182/255, alpha: 1)
    
    // Update UITextView font size and colour
    textView.font = UIFont.systemFont(ofSize: 20)
    textView.textColor = UIColor.white
    
    textView.font = UIFont.boldSystemFont(ofSize: 20)
    textView.font = UIFont(name: "Verdana", size: 17)
    
    // Capitalize all characters user types
    textView.autocapitalizationType = UITextAutocapitalizationType.allCharacters
    
    // Make UITextView web links clickable
    textView.isSelectable = true
    textView.isEditable = false
    textView.dataDetectorTypes = UIDataDetectorTypes.link
    
    // Make UITextView corners rounded
    textView.layer.cornerRadius = 10
    
    // Enable auto-correction and Spellcheck
    textView.autocorrectionType = UITextAutocorrectionType.yes
    textView.spellCheckingType = UITextSpellCheckingType.yes
    // myTextView.autocapitalizationType = UITextAutocapitalizationType.None
    
    // Make UITextView Editable
    textView.isEditable = true
    
    self.view.addSubview(textView)}

 
}

Watch this video tutorial to learn how to create and customize UITextView

UITextView and UITextViewDelegate example in Swift


Learn iOS Development with these Video Courses

The Complete iOS 11 & Swift Developer Course - Build 20 Apps

Use Xcode 9 & Swift 4 to make real apps like Uber and Instagram, with CoreML & ARKit. Includes AWS Credit and much more. Preview this video course. icon

How to Make a Freaking iPhone App - iOS 11 and Swift 4

iPhone App Development from scratch. Learn how to make iOS apps using Xcode 9. The Basics Include Pokemon Go & Snapchat. Learn to build iOS Apps with Xcode 9 and Swift 4. How to Make a Freaking iPhone App - iOS 11 and Swift 4 icon

iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course

A Complete iOS 11 and Xcode 9 Course with Swift 4 & Objective-C. Preview this video course. iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course icon