В определенный момент в моем приложении я хотел бы временно отключить опцию вращения - эффективно "блокируют" ориентацию в коде, подобном тому, что переключатель блокировки делает на iPad в аппаратных средствах.
Я в настоящее время делаю:
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]
и когда я через, я звоню:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]
В то время как это все, кажется, работает, документация API указывает, что должно всегда быть начинание, сопровождаемое к концу - и я делаю его по существу наоборот. Существует ли более соответствующий API для обработки "ориентации блокировки"?
Думаю, это так же просто, как не реагировать на изменение ориентации вашего контроллера. Вы можете условно вернуть true или false в зависимости от переданных параметров, вам не всегда нужно возвращать true.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (rand()%2 == 0) { // evaluate if I should allow rotate
return YES;
} else {
return NO;
}
}