I am having a terrible time trying to get an input box like the one in the SMS app.
Can anyone offer some guidance on how to build one of these and make it look goo
Three20 project has a control that should do this for you.
From the Three20 README:
TTTextEditor is a UITextView which can grow in height automatically as you type. I use this for entering messages in Facebook Chat, and it behaves similarly to the editor in Apple's SMS app.
Try Chat Input Sample. It has the similar look and functionality of SMS app.
I know this is old but for the people that still look at this answer there is now a nice control from Slack that does that called SlackTextViewController.
You get to do this yourself. Luckily, the UITextField
can notify you whenever its text changes using UITextFieldTextDidChangeNotification, and luckily NSString
has methods (under the UIKit Additions) that let you get the height of the string given a certain width using boundingRectWithSize:options:attributes:context:, and luckily you can resize a UITextField yourself using frame.