У меня есть «интересная» проблема с UIAccelerometer в приложении для iPad.
В моем UIViewController у меня есть метод, который активирует акселерометр. Вот как это выглядит:
-(void)startAcc{
UIAccelerometer *gForce = [UIAccelerometer sharedAccelerometer];
gForce.delegate = self;
gForce.updateInterval = kUpdateInterval;
}
В моем представленииWillAppear я вызываю этот метод для активации акселерометра, и он отлично работает. Я получаю ускорения и использую их для перемещения вида на экране.
При вводе пользователем я затем загружаю другое представление (UIView), которое должно использовать акселерометр. Поэтому я останавливаю акселерометр в своем UIViewController с помощью этого кода:
[UIAccelerometer sharedAccelerometer].delegate = nil;
Затем я загружаю UIView и таким же образом активирую там акселерометр. Все работает просто отлично.
Моя проблема начинается, когда я хочу закрыть UIView и снова запустить акселерометр в UIViewController. Я останавливаю его в UIView и вызываю метод startAcc в моем UIViewController из UIView. Метод выполняется, но ускорений я не получаю :-(
Тот же метод, но разные результаты.
Может ли кто-нибудь указать мне, что мне здесь не хватает?
Спасибо