سؤال

وأريد بلدي UIView فرعية على التصرف بحيث عندما يتم تركيبها في اتجاه عمودي هو ديها حجم معين وحجم آخر عند تركيبها في وضع أفقي.

هل من الممكن أن يكون الرأي تشير إلى وحدة تحكم عرض هذا ما حجمه عند تغيير الاتجاه الذي لديه هذا "الحجم المثالي"؟

لتوضيح، وأنا واثق من أن هذا ليس شيئا يمكن القيام به مع قناع autoresizing. اعتقدت أيضا أن sizeThatFits: سيكون ما أحتاج لكنني لم أر ذلك الحصول على استدعاء عند تغير التوجه

وأنا أيضا ندرك أن أستطيع الحصول على هذا الذي قام به تجاوز layoutSubviews من superview (أو ربما بعض الطرق الأخرى للتحكم الرأي ولكن أود أن يكون هذا السلوك جزءا لا يتجزأ من وجهة نظر لتسهيل إعادة استخدامها.

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

المحلول

وتحصل على عدة رسائل عندما تدور الجهاز:

- shouldAutorotateToInterfaceOrientation:;
- willRotateToInterfaceOrientation:duration:;
- didRotateFromInterfaceOrientation:

ويمكنك استخدام هذه إلى إعادة تخطيط وجهة نظرك عندما تدور المستخدم.

إذا كنت لا تريد استخدام وحدة تحكم الرأي، يمكنك التسجيل للحصول على إشعار UIDeviceOrientationDidChangeNotification.

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