I’m interested in doing something similar to this, however the component subviews of MFMessageComposeViewController are a much different than MFMailComposeViewController.
I figured out how to set focus to the input that let’s you to type your message text by simply calling setRecipients: with an array containing a blank NSString. However, I’d like to paste non-text from the pasteBoard into the input, so I can’t simply use setBody:.
Problem:
What I need to do is get a reference to the actual text field that is the current first responder for my MFMessageComposeViewController. This way, I have a “sender” I can pass to UIPasteboard’s paste: method. The problem is, I can’t seem to walk the subview hierarchy the same way as MFMailComposeViewController, so I can’t find out which view is first responder.
I’ve even tried this, but the view is always returned as nil if I do a [myMessageVC.view findFirstResponder]
Word of caution, you’re not supposed to have your hands inside that view. Apple will refuse your app for doing so. You are only allowed to set the body and recipients.
http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html