سؤال

للكشف عن اتجاه الهاتف عند التقاط صورة أستخدمها

orientation == UIDeviceOrientationLandscapeRight
orientation == UIDeviceOrientationPortraitUpsideDown
orientation == UIDeviceOrientationPortrait
orientation == UIDeviceOrientationLandscapeLeft

لكن هذه العمل إذا تم التقاط الصورة من الجانب. كيف يمكنني التحقق مما إذا كان iPhone يميل إلى أسفل ليكون مسطحًا على سبيل المثال عند التقاط صورة جوية؟

هل كانت مفيدة؟

المحلول

إنه ثابت آخر لتوجيه الجهاز:

typedef enum {
   UIDeviceOrientationUnknown,
   UIDeviceOrientationPortrait,
   UIDeviceOrientationPortraitUpsideDown,
   UIDeviceOrientationLandscapeLeft,
   UIDeviceOrientationLandscapeRight,
   UIDeviceOrientationFaceUp,
   UIDeviceOrientationFaceDown
} UIDeviceOrientation;

تستطيع ايجادهم هنا: مرجع فئة Uidevice

نصائح أخرى

القي نظرة على UIAccelerometerUIAccelerometerDelegate) الفئات التي يجب استخدامها للكشف عن حركات الجهاز.
تعديل: في مرجع فئة Uiaccelerometer ، هناك روابط إلى 3 عينات ذات صلة: تسريع المقياس, glgravity و glpaint

يوجد تطبيق عينة على http://developer.apple.com/iphone أن الرسوم البيانية البيانات الخام من مقياس التسارع. قم بتثبيته على جهازك ، وإلقاء نظرة على نوع البيانات التي تحصل عليها.

يأتي تطبيق العينة مع خيار (أعتقد أنه "التخميد") الذي يلغي بشكل فعال الجاذبية. أنت لا تريد أن تفعل هذا - في الواقع الجاذبية هي ما سيقوم "بتسريع" جهازك في محور Z عندما يكون مسطحًا ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top