It is perfectly doable. I have subclassed TTMessageController before and added some image views to it, but from my experience it its not wise to go down that route. TTMessageController really isn't designed to be subclassed. So if I would do that again, I would copy TTMessageController and would edit it directly.
I don't know any other projects that provide this kind of UI. Are you using Three20 in that project anyways? Then TTMessageController might be a good fit. If you are not planning to use the rest of the library be warned: TTMessageController is quite deeply rooted in Three20. Ripping it out would be a pain. Rewriting from scratch might be easier.
About your question of how one could integrate CC and BCC fields into TTMessageController, that is hard to answer without a concrete question. I could only give some hints where to look.
To start the "To:" Field is a TTMessageRecipientField
. You might what to add additional fields of that class to the MessageController. A TTMessageRecipientField
contains a TTPickerTextField
through composition. The picker Text Field is the one that really does the work by communicating with the data Source of addresses, which simply is a TTTableDataSource and by displaying the blue bubbles (TTPickerViewCell
).
I hope that gives you an rough idea and some code to study.