2010-07-21 2 views
1

Я пытаюсь добавить subview в мое окно iphone, и я написал для этого следующий код. Проблема заключается в том, что, когда на экране появляется изображение всплеска или главного меню, оно выходит за строку состояния. Я имею в виду, что представление начинается из-за строки состояния. Также оба вида перекрываются, когда представление главного меню отображается после всплеска. Кто-нибудь может помочь? БлагодаряIPhone - вид скрывается за панель состояния

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
     [window addSubView: [[Resources getResources] getSplashView]]; 
     [vindow makeKeyAndVisible]; 
     [self performSelector:@selector(displayMainMenuView) withObject:nil afterDelay:2.0]; 
    } 


-(void) displayMainMenuView { 
     [window addSubView: [[Resources getResources] getMainMenuView]];` 
    } 
+0

Можете ли вы опубликовать код, который запустит представление, особенно код с рамкой представления? – vodkhang

+0

На самом деле я создаю приложение на основе окон, используя предопределенные шаблоны проектов xcode. Так что все по умолчанию. Я только что изменил те методы, которые я цитировал ранее. – Aqueel

ответ

2

Вы также можете просто настроить рамку вашего главного меню, как:

mainMenuViewController.view.frame = CGRectMake(0.0f, 20.0f, 320.0f, 460.0f); 

Это будет сделайте свой просмотр чуть ниже строки состояния.

0

Установите свойство statusBarHidden ДА, когда представление Всплеск отображается

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
     application.statusBarHidden = YES; 
     [window addSubView: [[Resources getResources] getSplashView]]; 
     [vindow makeKeyAndVisible]; 
     [self performSelector:@selector(displayMainMenuView) withObject:nil afterDelay:2.0]; 
    } 
+0

Привет Спасибо за ответ. То же самое происходит при отображении главного меню. Есть ли в любом случае я могу сделать этот вид отображения ниже строки состояния, а не за ней? Я работаю в приложении Windows. – Aqueel

+0

Если вы хотите, чтобы statusBar всегда скрывался, он был скрыт во всех ваших xx-файлах. И добавьте свойство «Строка состояния изначально скрыто», установленное в YES в Info.plist. – MathieuF

+0

Нет, я не хочу скрывать строку состояния. Я просто хочу показать строку состояния, и представление должно начинаться со строки состояния. Я просто не хочу, чтобы мое представление начиналось из-за строки состояния. – Aqueel

0

Это то, что происходит для корневого представления. Вместо использования метода addSubView попробуйте установить rootViewController окна. Что-то вроде этого:

  • (аннулируются) applicationDidFinishLaunching: (UIApplication *) применение { window.rootViewController = [[Ресурсы GetResources] getSplashViewController]]; [vindow makeKeyAndVisible]; [self performSelector: @selector (дисплейMainMenuView) сObject: nil afterDelay: 2.0]; }

    - (недействительными) displayMainMenuView { window.rootViewController = [[Ресурсы GetResources] getMainMenuViewController]];
    }

Пожалуйста, обратите внимание, что вы должны установить объект контроллера, а не объекта, вид. Таким образом, в вашем случае вам нужны геттеры, например getMainMenuViewController.