I have encountered some seriously odd situation.
I have a code looking like this:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBu
Your view will change size after viewDidLoad with regard to the status bar and navigation bar (if you have them). If you don't call [super viewDidAppear:animated];, your subviews may not be repositioned properly.
[super viewDidAppear:animated];