سؤال

أنا strugging مع الحصول على اي فون التطبيق الذي يتطلب فقط عن كل دفع أو البوب في التنقل تحكم المكدس إلى تغيير التوجه.

الأساس الأول هو عرض صورة, الثاني المشهد الثالث صورة مرة أخرى (نعم أنا أعلم أن هذا هو أقل من مثالية ، ولكن هذا التصميم و لدي لتنفيذ ذلك).

لقد تم من خلال مختلف النصائح هنا....
كيف يمكنني الكشف عن التناوب على اي فون دون الجهاز autorotating?
قوة اتجاه عمودي على دفع شخصي جديد إلى UINavigationViewController
هل هناك توثيق طريقة لتعيين اي فون التوجه ؟
لكن من دون النجاح الكامل.

وضع وصلة ضد 3.1.2 قراءتي ربط المواد المذكورة أعلاه يبدو أنها تشير إلى أنه إذا عرض صورة يدفع الرأي مع

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeRight) );
}
ثم بعد ذلك هذا الرأي يجب أن تظهر استدارة إلى المناظر الطبيعية.ما يحدث هو أنه يظهر في "كسر" صورة النموذج ، ثم تدور بشكل صحيح كما يتم تشغيل الجهاز.

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

لقد حاولت أيضا إزالة جميع shouldautorotate الرسائل بدلا مما اضطر التناوب عن طريق تحويل الرأي.هذا النوع من الأعمال ، وأنا اكتشفت ذلك عن طريق تحريك شريط الحالة (التي هي في الحقيقة المخفية في التطبيق) [UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight; لوحة المفاتيح سوف تظهر مع التوجه الصحيح عندما المطلوب.

المشكلة مع هذا النهج هو أن شريط الحالة تحويل غريب وقبيح عندما لا يكون لديك شريط الحالة - ظل يخيم على الصفحة مع كل تغيير.

لذلك.ما أنا في عداد المفقودين.

1) أنا على خطأ في التفكير في 3.1.2 (أو ربما قبل ذلك) shouldAutorotateToInterfaceOrientation ينبغي أن توفر المطلوب التوجه ببساطة عن طريق دفع تحكم ؟

2) هل هناك طريقة أخرى للحصول على لوحات المفاتيح لتظهر في الاتجاه الصحيح.

3) هم لا يحملون وثائق API المكالمات الطريق للذهاب (من فضلك لا!)

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

المحلول

يجب عدم استخدام [UIViewController shouldAutorotateToInterfaceOrientation:] لتحريك التوجه التغيير ؛ كان هناك فقط السماح للنظام أعرف إذا التناوب التلقائي يسمح.يجب أن لا تزال التحديث إلى تحديد اتجاه هذا مسموح به على الرغم من.

إذا كنت ترغب في تغيير الاتجاه عند رأي معين يظهر عليك الاتصال [UIApplication setStatusBarOrientation:animated:] داخل [UIViewController viewWillAppear:] تجاوز الطريقة لكل من عرض وحدات تحكم تلك القوة معين التوجه.من شأنها أن تتسبب في تغيير عندما يتم دفع إلى المكدس و عندما يجري برزت منه.تأكد من الاتصال super في تجاوز الأسلوب.

وهذا هو أيضا المكان المناسب لتغيير كيفية وضع شريط, إذا كان هذا هو شيء كنت تفعل.

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