Я переношу свои приложения поверх одного и использую UIPickerView. В методе viewDidLoad я создаю сборщик и устанавливаю его y как self.view.frame.size.height так, чтобы он был выключен. Затем я просто двигаю его, когда это необходимо.
На iPhone 5 self.view.frame.size.height по-прежнему возвращается 480, но UIView правильно заполняет экран.
Я даже пытался использовать CGRectGetHeight(self.view.bounds), думая, что он может вернуть что-то другое... без кости. Любые идеи относительно того, почему это может произойти.