ротация iPhone / iPad - PullRequest
3 голосов
/ 27 мая 2010

Как я могу определить начало вращения и конец вращения на этих устройствах?

EDIT: Итак, после ваших ответов, как я могу обнаружить начало и конец изменения ориентации.

Ответы [ 3 ]

9 голосов
/ 27 мая 2010

Вы можете реализовать следующие два метода в вашем UIViewController.

Чтобы обнаружить начало вращения, реализуйте willRotateToInterfaceOrientation: duration: и для определения конечного значения didRotateFromInterfaceOrientation: .

т.е.

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    NSLog(@"I am starting to rotate");
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    NSLog(@"I have finished rotating");
}
0 голосов
/ 27 мая 2010

Вы не можете обнаружить вращение ни на одном из этих устройств.Акселерометр обнаруживает только изменения скорости.

Вы можете получить приблизительную меру ориентации из класса CLLocationManager, который сообщает о курсе.Это значение медленно обновляется, что ограничивает его полезность.

0 голосов
/ 27 мая 2010

Вы можете использовать UIAccelerometer API для этого

РЕДАКТИРОВАТЬ, чтобы соответствовать уточнению вопроса:

Для этого используйте API UIAccelerometer. Есть хороший пример приложения под названием AccelerometerGraph , который отображает 3 вектора ускорения на графике. Это должно дать вам хорошее представление о том, как будет выглядеть изменение ориентации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...