есть ли логика, чтобы определить, перевернул ли пользователь свой телефон, как со стороны батареи, так и на экран, и наоборот в горизонтальной плоскости? Я попытался получить исходные значения, чтобы определить, находится ли устройство в горизонтальном положении на обеих сторонах, но как обнаружить все движение, может ли кто-нибудь указать мне в правильном направлении.Как обнаружить флип iPhone?
ответ
Если вы посмотрите на UIDevice class reference, вы увидите перемычку ориентации. Два из его значений: UIDeviceOrientationFaceDown
и UIDeviceOrientationFaceUp
. При этом все, что вам нужно сделать, это зарегистрировать наблюдателя в уведомлении UIDeviceOrientationDidChangeNotification
, а по телефону вы можете проверить текущую ориентацию устройств и обработать это соответственно.
[[NSNotificationCenter defaultCenter] addObserverForName:UIDeviceOrientationDidChangeNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationFaceDown) {
// device facing down
}else if (orientation == UIDeviceOrientationFaceUp) {
// device facing up
}else{
// facing some other direction
}
}];
Для начала генерации уведомлений устройства необходимо соблюдать следующие правила.
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
Если вы хотите получить более подробную информацию об ориентации устройства, вам необходимо использовать структуру ядра Motion, чтобы получить данные гироскопов напрямую. При этом вы можете отслеживать точное направление тока, с которым устройство сталкивается в трехмерном пространстве.
_motionManager = [CMMotionManager new];
NSOperationQueue *queue = [NSOperationQueue new];
[_motionManager setGyroUpdateInterval:1.0/20.0];
[_motionManager startGyroUpdatesToQueue:queue withHandler:^(CMGyroData *gyroData, NSError *error) {
NSLog(@"%@",gyroData);
}];
- 1. Флип-вид Iphone
- 2. Флип-просмотров в iPhone?
- 3. Обнаруживать 180 флип на iPhone/iPad
- 4. Как создать флип-приложение страницы в iphone
- 5. Как найти, что флип-анимация закончила iphone?
- 6. iPhone флип правой кнопкой (как iTunes)
- 7. Как обнаружить экранный флип на Android в Киви?
- 8. Как программно обнаружить Iphone 4
- 9. Как обнаружить css iPhone/iPad
- 10. iPhone подтаблицы флип между 2 видами
- 11. Флип-вид в iphone с навигационной панелью
- 12. FlipClock iPhone расширяет номера внутри флип-табов
- 13. обнаружить, когда трясет iPhone
- 14. iphone обнаружить делегировать событие
- 15. Обнаружить, если в полноэкранном режиме (3d флип-книжка)
- 16. Как обнаружить касание в строке состояния iPhone?
- 17. Как обнаружить iphone в бесшумном режиме
- 18. Как пассивно обнаружить упавший iPhone или Android?
- 19. Как обнаружить два пальца на iPhone?
- 20. Как программно обнаружить динамик в iphone?
- 21. Как обнаружить iPhone/ipad в прекомпиляционное время
- 22. Как обнаружить iPhone 6s и 6s +
- 23. Как обнаружить штрихи на UIStatusBar/iPhone
- 24. Как обнаружить палец на задней камере iPhone?
- 25. Как обнаружить трясти в браузере iphone?
- 26. Как обнаружить клавиатуру нажатой в iphone?
- 27. Как обнаружить прокрутку влево/вправо на iPhone?
- 28. Флип как анимация
- 29. Как работает флип-функция?
- 30. Как показать параметры MapView с флип-анимацией?
спасибо за ответ, я достиг этого обнаружения, хотя исходные значения ранее и я говорил об этом в моем вопросе тоже проблема обнаружить все движение листать от isFaceUp к isFaceDown – carelesslyChoosy
Окей, который должен быть более точным но я до сих пор не вижу, как он обнаружит движение, он очень точно определяет две конечные позиции, но я не уверен, как я узнаю, что мой пользователь перевернул его устройство. – carelesslyChoosy
проблема не в точности, чтобы определить конечную позицию, но логика для обнаружения всего этого движения – carelesslyChoosy