Обновите iPhone 3.0 до SDK и теперь симулятор показывает пустой экран - PullRequest
5 голосов
/ 02 августа 2009

У меня есть приложение для iPhone, которое использует UITabBarController, который содержит два UINavigationController, каждый из которых, в свою очередь, содержит один или несколько TableViewControllers (собственно, настраиваемые UIViewControllers, реализующие UITableViewDelegate и UITableViewDataSource.). При запуске отображается UITabBarController с одним из них. просмотр таблиц. Все закодировано; Интерфейсный Разработчик НЕ использовался для создания каких-либо вещей пользовательского интерфейса. Он был написан в SDK 2. Он отлично работал в SDK 2.

Я недавно обновился до SDK 3.0. В Info я установил базовый SDK для iPhone Simulator 3.0. Теперь, когда я запускаю приложение в симуляторе, я вижу только пустой белый экран со строкой состояния вверху. Никаких признаков моего приложения. Однако, когда я выхожу из приложения, отсутствующее табличное представление кратко отображается во время воспроизведения существующей анимации. Кроме того, на пустом белом экране я все еще могу щелкнуть, где должны быть кнопки навигации, и обнаружить, что, когда я выхожу из приложения и на короткое время отображается отсутствующий экран, эта навигация перенесла меня на другой экран. Таким образом, кнопки работают, и, предположительно, ячейки табличного вида есть, их просто невозможно увидеть.

Кто-нибудь видел что-нибудь подобное? Кто-нибудь имеет какие-либо идеи, что вызывает это и как я могу это исправить? Я заметил, что примеры приложений, таких как SQLiteBooks, работают нормально при обновлении до SDK 3.0. Мое приложение не очень отличается от SQLiteBooks с точки зрения используемых технологий, за исключением того, что, как я сказал выше, я не использую Interface Builder.

Ответы [ 8 ]

3 голосов
/ 08 июня 2010

В IB нажмите «Окно» и убедитесь, что «Видимо при запуске» отмечено. Моего не было, и мое приложение, наконец, появилось после того, как поставило галочку.

2 голосов
/ 03 октября 2009

Да, я наконец-то нашел простое исправление - откройте Window в MainWindow.xib, измените значение Alpha на 0 (по умолчанию 100).

1 голос
/ 01 марта 2011

У меня была такая же проблема с получением белого экрана на симуляторе iphone после обновления моей iOS до 4.2

Попробовав все вышеперечисленные решения, предложенные людьми в этой теме, и ничего не повлияв на проблему,

Я попытался изменить следующий код в

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

метод .... написав этот код ...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  



    // HomeScreen is my first view that should be displayed on the app launch
    // Creating the homescreen instance in the appdelegate method and 
    // assigned it to the homeScreenWindow element declared in the appdelegate class

    HomeScreen *aHomeScreen = [[HomeScreen alloc]initWithNibName:@"HomeScreen" bundle:nil];
    self.homeScreenWindow = aHomeScreen;
    [aHomeScreen release];
    // assigning ends here

    [window addSubview:[homeScreenWindow view]];
    [window makeKeyAndVisible];

    return YES;
}
1 голос
/ 18 января 2010

Мне не нужно было менять настройки альфа-значения. Все, что я сделал, это вышел из Interface Builder, прежде чем пытаться запустить свой проект в iPhone Simulator. По какой-то причине, если IB открыта при первом запуске симулятора, он покажет пустой экран, поэтому выйдите из IB перед первым запуском проекта.

1 голос
/ 19 августа 2009

Если вы строите свое окно исключительно в коде, обязательно удалите MainWindow.xib из свойств в вашей цели.

Если проблема не в этом, у меня раньше были похожие проблемы с приложениями, которые странно вели себя при запуске. Я не уверен, в чем причина, поэтому для меня это метод проб и ошибок:

1) Попробуйте удалить каталог сборки и перестроить.

2) Установите базовый SDK для iPhone Device 3.0. (Базовый SDK переписывается при сборке для симулятора в любом случае)

3) У меня также была проблема, когда файл plist проекта и MainWindow.xib были случайно удалены из моего проекта, и это вызвало такую ​​же проблему. Дважды проверьте, чтобы убедиться, что они находятся в структуре вашего проекта, если вы используете MainWindow.xib.

0 голосов
/ 12 июля 2010

Похоже, вы должны сохранить новый интерфейс перед запуском. Я никогда раньше не разрабатывал для iPhone и, наконец, понял, почему у меня белый экран. Похоже, что он должен сохранять автоматически перед запуском, но, очевидно, это не так.

0 голосов
/ 16 июня 2010

Я исправил мой, изменив режим с Scale To Fill на Center. До того, как я сменил альфу, все, что он сделал - поменял фон на черный. Я подумал, что, возможно, фактические значения не масштабируются правильно, и я был прав. Опять же, просто измените режим с Scale To Fill на Center и вуаля, он должен работать.

0 голосов
/ 08 июня 2010

У меня тоже есть эта проблема, я решил сделать следующее:

В Интерфейсном конструкторе:

  • Владелец файла: делегат вашего приложения
  • окно: выход окна делегата приложения

В XCode: - Если вы используете версию 3.0 или выше, прокомментируйте эту строку кода в делегате приложения:

// window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]

...