2010-06-14 3 views
1

При изменении ориентации iPad мое приложение очень быстро меняет свое представление. Трудно воспринимать переход между обеими ориентациями. Я хотел бы немного увеличить продолжительность этого перехода.IPad View Rotation Duration

Кто-нибудь знает, как увеличить продолжительность этого перехода?

Спасибо!

ответ

5

Начиная с iPhone OS 3.2, UIApplication включает в себя метод -windowRotationDuration, который возвращает продолжительность вращения. Это 0,3 секунды в режиме iPhone и 0,4 секунды в режиме iPad. Вы можете переопределить этот метод, чтобы изменить скорость вращения, например.

@implementation UIApplication (OverrideRotationSpeed) 
-(NSTimeInterval)windowRotationDuration { return 5.0; } 
@end 

Теперь -windowRotationDuration является private API, что означает, что вы не можете использовать этот метод, и нет документированных способов сделать это, поэтому ответ: -

         

+0

Но другие приложения, установленные мной на iPad, ведут себя по-другому. Они имеют плавный переход при вращении устройства. Я использую контроллер разделенного представления по умолчанию, поскольку он не содержит никаких изменений, поэтому я не понимаю, что я должен делать, или должен быть способ изменить это поведение. : s – federivo

+0

@federivo: плавный переход ≠ медленный переход. Вероятно, ваш взгляд слишком сложный. Попытайтесь уменьшить глубину иерархии. – kennytm

+0

Вы правы. Проблема, вероятно, связана с составом мнений, которые я использую. Я составил подробный вид splitViewController следующим образом: DetailView -> BackgroundView -> ClientView. Фоновый вид используется, поэтому я могу повторно использовать clientView в портретной и альбомной ориентации. Когда в портрете я устанавливаю фоновый вид за клиентом, чтобы создать впечатление наличия полей, и я убираю его, когда меняю пейзаж. Думаю, мне нужно переосмыслить весь этот процесс или выяснить другой способ повторного использования клиентского представления для обеих ориентаций. Спасибо @KennyTM! – federivo