Как вызвать функцию, когда iPhone поворачивается на 90 градусов? - PullRequest
5 голосов
/ 23 июня 2009

Как определить поворот iPhone примерно на 90 градусов? Кроме того, мне не нужно / не хочу, чтобы сам экран вращался. Я просто хочу вызвать функцию, когда телефон повернут. Спасибо!

Ответы [ 5 ]

8 голосов
/ 23 июня 2009

Ваш контроллер просмотра будет отправлен:

  -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

Реализуйте это, чтобы сделать что-то, когда телефон поворачивается

После завершения вращения вы получите:

  - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

Вот это в документах (см. Обработка просмотра поворотов)

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html

1 голос
/ 12 апреля 2011

Вы должны сначала реализовать метод экземпляра "shouldAutorotateToInterfaceOrientation" и вернуть YES. и тогда будут вызваны два метода.

1 голос
/ 23 июня 2009

Вам нужно перехватить события, отправленные до поворота ViewController А именно:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

и после ротации

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
1 голос
/ 23 июня 2009

Когда вы поворачиваете устройство, ваш контроллер представления получает didRotateFromInterfaceOrientation: сообщение, со старой ориентацией. Вы можете проверить свойство interfaceOrientation, чтобы увидеть текущее вращение, и сделать что-то соответственно.

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
0 голосов
/ 27 января 2011

Имена методов правильные ... но их никогда не вызывают. Что вызвало бы это?

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