From the first time I saw this effect in the Tweetie (now Twitter for iPhone), I was crazy about it. I had written my own hacks to make something close, but it was always terrible. Within the past few months, I have been using a perfect/elegant solution to this problem called SVProgressHUD.
Using this in your project is as easy as calling:
// showing [SVProgressHUD showWithStatus:@"Logging in…"]; // hiding [SVProgressHUD dismiss];