Note: This answer is out of date and should be used for pre-iOS 7 development only. See other answers for a 1 line solution using the appearance proxy in iOS 7.
I arrived at this question after I faced the same problem in a project I was working on.
I managed to create a solution that will be accepted by the AppStore review team as it does not use any existing Private APIs.
I have created a control called DGTextField that extends UITextField.