Я решил решить свою собственную проблему, начав с натяжения, чтобы создать новый UIViewController, и убедился, что он реагирует на поворот устройства. Затем я внес свой код по частям и проверил вращение. В конце концов я нашел основную причину. В моем пользовательском UIViewController у меня было
- (id)initWithFrame:(CGRect)theframe {
if (self.view = [super.view initWithFrame:theframe])
Работает find excpet, он не отвечает на ротацию устройства, хотя я не вызывал функцию init. Решение простое. Добавьте [self init] в функцию initWithFrame. Спасибо всем за ответ.