سؤال

لقد نظرت في جميع أنحاء الشبكة في محاولة لمعرفة كيفية الحصول على الحدود على أساس الاتجاه. الإشعارات تعمل بشكل جيد لكنني أحصل على حدود العرض عبر:

CGRect cgRect = self.view.bounds;

الذي يعود {0 ، 0} ، {320 ، 460} وهو صحيح ولكن عندما يتم تدوير الجهاز ، فإنه يعيد نفس cgrect ، حيث كنت أتوقع قيمًا مختلفة تمامًا.

لقد حاولت استخدام Property Autoresizesubviews على Self.view لكن هذا لا يغيره.

أنا أفعل كل هذا في الكود راجع للشغل ، لا توجد نقاط القوارب ، لذا فإن شريط التنقل لا يتحرك أيضًا. أنا فقط أستخدم الإخطار uideviceorientationDidChangenotification الذي يستجيب بشكل صحيح.

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

المحلول

تم العثور على أفضل طريقة لفرز هذا هو التسجيل لإشعارات تغيير اتجاه الجهاز ثم:

UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;

سيقوم بإرجاع الاتجاه الذي يوجد فيه الجهاز. من هذا ، يمكنك الحسابات المناسبة لعرض العرض

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