У меня была такая же проблема.
Я обнаружил, что это было вызвано тем, как я изначально измерил представление родительского элемента модального viewcontroller.
Я использовал [UIScreen mainScreen].bounds
Это то, что работает для меня:
// loadView method of the parent of the modal view controller
- (void)loadView {
CGRect frame = [UIScreen mainScreen].applicationFrame;
self.view = [[[UIView alloc] initWithFrame:frame] autorelease];
[self.view setAutoresizingMask:UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth];
// Below is the actual code with the content of the view
[...]
}