IPhone UITextField not showing edit caret or clearing placeholder text when tapped

In Interface Builder did you check the box for "Clear When Editing Begins"? With that checked the text field should clear any value once the use taps to edit which is the behavior I think you're looking for.

You can also set the same property programatically using clearsOnBeginEditing if that is convenient in your code.

My guess is that you've done this and it's not behaving as you expect. Just checking on this as a first step in helping you debug.

Also, does this happen in both the Simulator and on a testing device?

Bart

Edited Below...

This seems strange. Let's strip away everything but the basics of presenting a modal view when the application starts and see what happens.

I've recreated the most basic app (that I know of) to test presenting a modal view controller at launch and verify that field editing works fine. What happens for you when you do the same/similar in a new project?

Here is what I'm doing:
1) Create a new view-based app in Xcode called "ModalViewTest"

2) Create a new UIViewController with xib called ModalViewController

3) In ModalViewController.h add a method

-(IBAction)closeModalView;

4) In ModalViewController.m add the method implementation as

-(IBAction)closeModalView {
    [self dismissModalViewControllerAnimated:YES];
}

5) In the ModalViewController.xib create two text fields and set the placeholder text for each to abcd1234 and confirm that "Clear When Editing Begins" is checked.

6) In the ModalViewController.xib add a button "Close" and set Touch Up Inside to fire "closeModalView"

7) In the application delegate (ModalViewTestAppDelegate) add the following import

#import "ModalViewController.h"

8) In the application delegate (ModalViewTestAppDelegate) applicationDidFinishLaunching add the following after the line containing [window makeKeyAndVisible];

ModalViewController *modalViewController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
[viewController presentModalViewController:modalViewController animated:YES];

9) Save everything

10) Build and Run this new app

Does editing of the text fields work as expected? If yes, what is different about how you are building and presenting your modalView? If no, then we'll need to dig further to determine what is going on in your environment.

Second Edit Below...

When creating a navigation-based application I did the following to present the modal view at application start. Does this work for you in both your test app as well as your real app?

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    

    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];

    ModalViewController *modalViewController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil]; 
    [navigationController presentModalViewController:modalViewController animated:YES];

}