A lightweight TextView where can be attached any UIView
YanagiText ?
YanagiText allows us to add any UIView to UITextView!
Installation ?
CocoaPods
You can use CocoaPods to install YanagiText
by adding it to your Podfile
:
pod 'YanagiText'
Carthage
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"
Manually
- Download and drop
YanagiText
in your project. - 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() {
super.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() {
super.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)
}