YanagiText ?


YanagiText allows us to add any UIView to UITextView!

Installation ?


You can use CocoaPods to install YanagiText by adding it to your Podfile:

pod 'YanagiText'


Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/YanagiText.framework to an iOS project.

github "YuigaWada/YanagiText"


  1. Download and drop YanagiText in your project.
  2. Congratulations!

Usage ?

YanagiText.getViewString registers a view internally, so you must call this methods via your TextView where you wanna add the view.

@IBOutlet weak var textView: YanagiText!

override func viewDidLoad() {

    // You can add a view to your UITextView
    self.textView.attributedText = self.textView.getViewString(with: anyView, size: anyView.frame.size)

If you wanna set YanagiText.isEditable = true, write the following code.

class YourViewController: UIViewController, UITextViewDelegate {

  override func viewDidLoad() {
      self.textView.delegate = self


  func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
      return self.textView.shouldChangeText(textView, shouldChangeTextIn: range, replacementText: text)