سؤال

أنا أعمل على التطبيق. اتجاه التطبيق هو المشهد ، ولكن بعد تشغيل تطبيق واجهة التطبيق للتطبيق ، قم بتغيير الواجهة والتدوير. عرض شاشة Splash بطريقة صحيحة (المناظر الطبيعية). أنا أستخدم iOS7 ، كان التطبيق رمزًا لـ iOS5 ، وأعتقد أن هناك بعض مشكلة API التي تم إهمالها على سبيل المثال ، على سبيل المثال

enter image description here

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

المحلول

إذا كنت تريد أن تحترم جميع وحدات التحكم في الملاحة لدينا أعلى وحدة تحكم العرض ، فيمكنك استخدام فئة حتى لا تضطر إلى المرور وتغيير مجموعة من أسماء الفصول الدراسية.

 @implementation UINavigationController (Rotation_IOS6)

-(BOOL)shouldAutorotate
{
   return [[self.viewControllers lastObject] shouldAutorotate];
 } 

-(NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return [[self.viewControllers lastObject]     preferredInterfaceOrientationForPresentation];
}

@end

كما تشير عدد قليل من التعليقات ، هذا حل سريع للمشكلة. الحل الأفضل هو الفئة الفرعية uinavigationController ووضع هذه الأساليب هناك. يساعد الفئة الفرعية أيضًا في دعم 6 و 7.

نصائح أخرى

enter image description here

يجب عليك ضبط orintatoin في بناء الصورة انظر الصورة.

فإنه سيتم حل مشكلتك.

جرب هذا:

- (BOOL)shouldAutorotate
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}

تعديل :

انظر المرفق حلقة الوصل, ، قد تكون مفيدة لك.

أجد حل الفكر الذي أفعله. الخطوة الأولى تجاوزت uinavigationcontroller من خلال إنشاء فئة

الخطوة الثانية استبدال [self.window AddSubview: [NavigationController View]] ؛ //قديم

مع [self.window setRootViewController: NavigationController] ؛ //الجديد

استخدم هذا في appDelegate.m

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    NSLog(@"Interface orientations");
    if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad ){

        return UIInterfaceOrientationMaskLandScape;
    }
    else{
        return UIInterfaceOrientationMaskPortrait;
    }
}

ساعدني..

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