2013-11-30 3 views
0

Я пытаюсь установить образ запуска для своего приложения, однако он не будет работать правильно, независимо от того, что я делаю.Запуск изображения не работает правильно, независимо от того, что

Мое приложение - только ландшафт (слева или справа), но я, хотя я бы просто поставил изображение для запуска портрета в любом случае.

Изображение запуска появляется только в том случае, если я проверяю окно «Портрет» и снимаю флажки «Пейзаж влево» и «Пейзаж справа» в настройках «Сведения о развертывании». Очевидно, я не могу этого сделать, потому что это испортит все мое приложение.

Я попытался изменить shouldAutorotateToInterfaceOrientation: вернуть YES во всех контроллерах моего представления, но это не сработало.

Любая помощь приветствуется. Благодаря! -Xerif

+0

Вы на iPhone или iPad?Какая версия Xcode? Какая версия SDK для iOS? – DerWOK

+0

Приложение предназначено для iPhone. Я тестировал его с помощью симулятора IOS и моего фактического телефона. Я запускаю xcode 5, и я искал в Интернете, чтобы узнать, как получить мою версию IOS SDK, и он сказал, чтобы перейти к об этом mac> Подробнее> Системный отчет> Программное обеспечение> Разработчик и это то, что он говорит http:// /i.imgur.com/ncV5bfg.png – Xerif917

+0

Erm - можете ли вы не просто повернуть изображение на 90 градусов, а затем добавить в качестве пейзажного запуска? – GuybrushThreepwood

ответ

0

У меня был такой же точный, как у вас, и, к сожалению, я узнал, что это глюк/ошибка в программном обеспечении Xcode. Я придумал код, который может отображать изображение запуска в ландшафтном режиме без каких-либо требований размера! Постарайтесь не отставать от меня и не сообщайте мне, если у вас возникнут проблемы. Ниже приведены этапы:

  1. Создайте новый объектно-c-файл с подклассом NSObject. Назовите его GameData.

  2. внутри GameData.h введите этот код:

    #import <Foundation/Foundation.h> 
    
        @interface GameData : NSObject 
    
    
        @property (assign, nonatomic) int Mainint; 
    
    
        +(instancetype)sharedGameData; 
    
        @end 
    
  3. Теперь внутри GameData.m Введите этот код:

    #import "GameData.h" 
    
    @implementation GameData 
    
    
        + (instancetype)sharedGameData 
        { 
         static id sharedInstance = nil; 
    
         static dispatch_once_t onceToken; 
        dispatch_once(&onceToken, ^{ 
        sharedInstance = [[self alloc] init]; 
        }); 
        return sharedInstance; 
        } 
    
    
    
    
        -(void)launchImage 
            { 
           [GameData sharedGameData].Mainint = [[NSUserDefaults standardUserDefaults]  integerForKey:@"mainint"]; 
         [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"mainint"]; 
          } 
    
  4. Теперь перейдите в ваш файл AppDelegate.h и введите :

      #import "GameData.h" 
    
  5. Теперь зайдите в свой AppDele gate.m файл и введите его в поле ниже метода:

      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
           { 
    
    
          [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"mainint"]; //Add This 
    
    
          // Override point for customization after application launch. 
          return YES; 
         } 
    
  6. Теперь перейдите в раскадровку и перетащить UILabel на ваш первоначальный View Controller или View контроллера, который показывает первый, когда приложение запускается. Не беспокойтесь, мы скроем этот ярлык, чтобы вы его не увидели.

  7. Теперь перетащите UIImageView через весь экран своего первоначального View Controller

  8. Теперь перейдите в ваш начальный виде контроллеры .h файл (шахта называется ViewController.h) и добавьте следующие строки:

      #import <UIKit/UIKit.h> 
         #import "GameData.h" //Add this 
    
         @interface ViewController : UIViewController 
    
         @property (weak, nonatomic) IBOutlet UIImageView *launchImage; //Add this 
         @property IBOutlet UILabel *seconds; //Add this 
         @property NSTimer *timer; //Add this 
    
    
    
            @end 
    
  9. Теперь перейдите в ваш начальный файл вид контроллера .m (шахта ViewController.m) и добавьте следующие строки:

       #import "ViewController.h" 
    
    
           @interface ViewController() 
    
           @end 
    
           @implementation ViewController 
    
           @synthesize launchImage; 
           @synthesize timer; 
           @synthesize seconds; 
    
    
          - (void)viewDidLoad 
         { 
    
    
          [GameData sharedGameData].Mainint = [[NSUserDefaults standardUserDefaults] integerForKey:@"mainint"]; 
    
           seconds.hidden = YES; 
    
    
           timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countUp) userInfo:nil repeats:YES]; 
    
    
            if ([GameData sharedGameData].Mainint > 3) { 
    
              launchImage.hidden = YES; 
            } 
    
             [self countUp]; 
    
             [super viewDidLoad]; 
           // Do any additional setup after loading the view, typically from a nib. 
    
    
    
    
    
    
                } 
    
    
    
    
             - (void)didReceiveMemoryWarning 
             { 
            [super didReceiveMemoryWarning]; 
           // Dispose of any resources that can be recreated. 
            } 
    
    
    
    
    
    
    
    
    
          -(void)countUp 
         { 
    
    
          [GameData sharedGameData].Mainint += 1; 
           seconds.text = [NSString stringWithFormat:@"%i", [GameData sharedGameData].Mainint]; 
    
    
           if ([GameData sharedGameData].Mainint == 3) { 
    
            launchImage.hidden = YES; 
    
            [GameData sharedGameData].Mainint = 4; 
    
             [[NSUserDefaults standardUserDefaults] setInteger:[GameData  sharedGameData].Mainint forKey:@"mainint"]; 
             } 
    
    
    
              } 
    
  10. Если вы выполните эти шаги, это должно сработать, и у вас не должно возникнуть никаких проблем. Если что-то не работает, просто сообщите мне, я был бы рад помочь. Я искал дни и дни, пытаясь найти ответ, а затем, наконец, понял это, протестировав этот код. Удачи!

Смежные вопросы