Miałem ten sam problem. Jeśli budujesz aplikację opartą na oknie „od zera” tak jak ja, musisz wykonać następujące czynności: (uwaga: są to kroki dla Xcode 4.2).
0. Upewnij się, że delegat aplikacji jest zgodny z protokołem UIApplicationDelegate.
Załóżmy na przykład, że nasz delegat nazywa się MyAppDelegate. W MyAppDelegate.h powinniśmy mieć coś takiego:
@interface MyAppDelegate :
NSObject <UIApplicationDelegate> // etc...
1. Określ delegata aplikacji w main.m
Na przykład,
#import "MyAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv,
nil, NSStringFromClass([MyAppDelegate class]));
}
}
2. Utwórz plik interfejsu głównego okna.
Aby to zrobić, kliknij projekt prawym przyciskiem myszy i wybierz Nowy plik. Następnie wybierz Okno z sekcji iOS -> Interfejs użytkownika.
Po dodaniu pliku do projektu przejdź do podsumowania projektu (kliknij lewym przyciskiem myszy na projekt; kliknij podsumowanie). W obszarze Informacje o wdrożeniu iPhone / iPod (i odpowiedniej sekcji iPada, jeśli chcesz) i wybierz nowy plik interfejsu w „ Główny interfejs ”.
3. Połącz wszystko w edytorze interfejsu
Wybierz plik interfejsu z listy plików, aby wyświetlić edytor interfejsu.
Upewnij się, że panel Narzędzia jest otwarty.
Dodaj nowy obiekt, przeciągając obiekt z listy Obiekty w panelu Narzędzia na przestrzeń powyżej obiektu Windows. Wybierz obiekt. Kliknij Inspektora tożsamości w panelu Narzędzia. Zmień klasę na delegata aplikacji (w tym przykładzie MyAppDelegate).
Wyświetl inspektora połączeń dla MyAppDelegate. Podłącz wylot okna do okna, które już istnieje w pliku interfejsu.
Kliknij właściciela pliku po lewej, a następnie kliknij Inspektora tożsamości w panelu Narzędzia. Zmień klasę naUIApplication
Wyświetl inspektora połączeń dla właściciela pliku. Podłącz ujście delegata do obiektu MyAppDelegate.
4. Na koniec, co bardzo ważne, kliknij obiekt Window w pliku interfejsu. Otwórz Inspektora atrybutów. Upewnij się, że „Visible at Launch” jest zaznaczone.
To wszystko, co musiałem zrobić, aby działało dla mnie. Powodzenia!