Awesome Open Source
Awesome Open Source


A UITextView subclass that adds support for multiline placeholder written in Swift.



You can set the value of the placeholder property just like using UITextField.

Interface Builder


  1. Drag a UITextView object onto the canvas.
  2. In the Identity inspector, set the Custom Class name to KMPlaceholderTextView.
  3. In the Attributes inspector, you can change the value of the placeholder property directly.


let placeholderTextView = KMPlaceholderTextView(frame: view.bounds)
placeholderTextView.placeholder = "What's on your mind?"



You can install the latest release version of CocoaPods with the following command:

$ gem install cocoapods

Simply add the following line to your Podfile:

platform :ios, '8.0' 

target '<Your Target Name>' do
  pod 'KMPlaceholderTextView', '~> 1.4.0'

Then, run the following command:

$ pod install

If you are encountering the following warning when using Xcode 8, please make sure to set the Module in the identity inspector of your KMPlaceholderTextView in the interface builder to KMPlaceholderTextView as well:

warning: IB Designables: Using class UITextView for object with custom class because the class KMPlaceholderTextView does not exist


Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate KMPlaceholderTextView into your Xcode project using Carthage, specify it in your Cartfile:

github "MoZhouqi/KMPlaceholderTextView" >= 1.4


  • iOS 7.0+
  • Xcode 10


KMPlaceholderTextView is released under the MIT license. See LICENSE for details.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Swift (95,447
Placeholder (269
Related Projects