はじめに
リッチテキストを編集できるtextViewライブラリを検討したときのメモを以下に公開します。最有力候補になったのは、RichEditorViewでした。
RichEditorView
- Swift2(masterブランチ)、Swift3(swift-3)
- BSD3ライセンス
- TextViewの代わりとして使えます。
- UIInputViewControllerでは、指数などの入力操作が行える。機能一覧があります。
- iOS10.3.1以降でコンテンツのない場合にタッチしても編集モードに移行できない問題があります。すでにプルリクが提出されています。一行修正すると、iOS10.3.2でも正常に動作します。
- UIInputViewControllerのメニュー項目をカスタマイズしたい場合、RichEditorOptionItem.swiftの書き換えが必要になります。
ZSSRichTextEditor
- objc
- MIT
- これにインスパイアされて前掲RichEditorViewが生まれた。
- RichEditorViewで削られている機能が搭載されている。守備範囲はこちらのほうが広い。
- UIViewController由来で、VCの形で提供されます。TextViewの代わりに使えません。画面一つとして使うなら便利ですね。
SECoreTextView
- objc
- MITライセンス
- Xcode 8.3.2でサンプルのRichTextEditorの実機へのインストールを試みると、-fembed-bitcode is not supported on versions of iOS prior to 6.0のビルドエラーが発生します。Deployment Targetが5.0に指定されているので、8.0などに上げてあげば、ランできます。
- そのままですと、Deprecationsの警告が出ています。'kCTParagraphStyleSpecifierLineSpacnig'について。
- UIInputViewControllerで画像挿入や太字などの操作を行えます。
- iOS10以降で画像挿入機能を使おうとすると、NSPhotoLibraryUsageDescriptionキーの記述が不足しているためクラッシュします。
- テキストのダブルタップで文字列の選択ができないなど、標準のTextViewとの挙動の違いがあります。
おわりに
リッチテキストを編集できるtextViewライブラリを全力で探しましたが、まだ把握できていないものがあるかもしれません。ここにないライブラリでおすすめがあれば、コメント欄から教えていただけると幸いです。比較検討してまたメモを追記したいと思います。