This's not an answer but a reply to James's answer because the formatting breaks on comment.
The fact is that setting the frame of the keyWindow will not be able to move the status bar. By setting a break point and printing out the keyWindow recursive description, we'll notice there's no status bar info inside.
(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]
<UIWindow: 0x8c5bf80; frame = (0 0; 320 480); gestureRecognizers = <NSArray: 0x8c5c500>; layer = <UIWindowLayer: 0x8c5c0a0>>
| <UIView: 0x8b49700; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x8b496b0>>
(lldb)
Follow Chris's link to Simon's answer does the job