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];

Clone SVProgressHUD On Github