There's no builtin way to change the appearance of a UITextField. What you can do instead is either subclass UITextField to change its appearance or add some kind of background view to it, so it appears to have the shape you want. (I'm assuming you want a fixed-height field; if you want the field to change height, like in Apple's SMS application, you're going to have to mess around with watching changes in the field's frame and adjust your background view appropriately.)
To get rid of the keyboard, send the object that's being edited (the "first responder" in Cocoa parlance) the resignFirstResponder
method:
[myTextField resignFirstResponder];
This causes the field to give up its status as the object that handles input like text, touches, etc., and will make the keyboard disappear. Nest this inside a method that gets called when your Done button is pressed and you're set. You can also override touchesEnded:withEvent:
in your view controller if you want any press outside the field to resign the first responder on the text field:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
[myTextField resignFirstResponder];
}