Я пишу приложение для рисования, и я не хочу, чтобы вид чертежа вращался. В то же время я хочу, чтобы другие элементы управления хорошо вращались в зависимости от ориентации устройства. В прошивкой 7 я решил эту проблему с помощью:Отключить авторотирование в одном подзоне в iOS8
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
float rotation;
if (toInterfaceOrientation==UIInterfaceOrientationPortrait) {
rotation = 0;
}
else if (toInterfaceOrientation==UIInterfaceOrientationLandscapeLeft) {
rotation = M_PI/2;
} else if (toInterfaceOrientation==UIInterfaceOrientationLandscapeRight) {
rotation = -M_PI/2;
}
self.drawingView.transform = CGAffineTransformMakeRotation(rotation);
self.drawingView.frame = self.view.frame;
}
Но прошивкой 8, даже если функция вызывается и преобразование установлен правильно, это не мешает взгляд от вращения.
Я попытался создать контроллер вида, который просто предотвращает поворот его представления и добавляет его представление в иерархию представлений, но затем он не отвечает на ввод пользователя.
Любые идеи?
Спасибо!
У меня была аналогичная проблема с сохранением некоторых элементов управления камерой прямо на iPad. Это сработало для меня с небольшим изменением: я установил drawView.frame равным прямоугольнику с начальным значением 0,0 и размером передаваемого «размера». – Walter