Featured iPhone Development Resources iOS Development Libraries Objective-C Open Source iOS Libraries And Tools

Open Source iOS Library Extending UITextView With Annotations, A Change API And More

Last month I mentioned a nice library from the LinkedIn engineering team for easily scheduling bakcground fetches called Selene.

Here’s an interesting open source library from the Linkedin engineering team called Hakawai that greatly extends the functionality of UITextView.

Added with Hawakai is a nice high-level change api that offers more than UITextViewDelegate, block-based APIs for working with text view contents, special social media style annotations within the view, and more.

This is a listing of the Hawakai features as stated in the readme:

A convenient drop-in replacement for UITextView instances, including those in Storyboards or XIBs.
Easily add, remove, and transform the text view’s plain and attributed text using a set of powerful block-based APIs.
Work with attribute formatting and easily register or unregister custom attributes with enhanced attribute APIs.
Easily add, remove, and manage accessory views, UI elements that can be added to or removed from the text view for additional functionality.
Lock the current line of text to the top or the bottom of the text view using single-line viewport mode.
Programmatically dismiss autocorrect suggestions, and temporarily override the autocorrect, autocorrection, and spell checking modes.
Extend functionality by registering or unregistering plug-ins.
Custom ’rounded rect background’ attribute, and a custom layout manager allowing additional attributes to be defined.
The fact that this text view implements a custom layout manager and text container fixes several UITextView bugs by default.
EXPERIMENTAL – Easily monitor user changes to the text view’s contents using the optional Abstraction Layer; two-stage insertion for Chinese and Japanese keyboards is also properly handled. The Abstraction Layer is built into the text view; it can also be pulled out and used independently if you desire.

You can find Hakawai on Github here.

You can read more about Hakawai on the Linkedin Engineering blog.

An nice enhanced version of the UITextView.