2012-01-23 25 views
22

Stworzyłem projekt bez obsługi scenorysów, ale później dodałem scenorys. Storyboard działa dobrze i widzę jego zawartość podczas ładowania aplikacji w emulatorze.Dodawanie scenariusza do istniejącego projektu

Następnie utworzyłem kontroler widoku (UIViewController), a mój problem polega na tym, że nie mogę powiązać żadnej kontroli z storyboardu do kontrolera.

Moje pytanie brzmi: jak podłączyć kontroler do storyboardu.

Odpowiedz

1

Czy sprawdziłeś, czy elementy sterujące, które chcesz podłączyć, mają odpowiedni moduł IBOutlet lub IBAction w kontrolerze? Wtedy powinieneś być w stanie połączyć je jak zwykle.

+0

Hm, no ... kiedy tworzenia storyboard wyloty i działania projektowe są tworzone, kiedy kontrole narkotykowe do kontrolera. Sprawdzanie teraz – glebreutov

+0

Po wstawieniu elementów sterujących w kodzie za pomocą monitora asystenta połączenie jest tworzone automatycznie. Gdy utworzysz scenorys później i umieścisz kontrolki w scenorysie bez dotykania kontrolera, powinieneś to zrobić ręcznie. – konturgestaltung

+0

Dodałem własność etykiety ręcznie, ale bez rezultatu :( – glebreutov

9

Znalazłem odpowiedź na własne pytanie. To bardzo proste: powinienem otworzyć storyboard, wybrać kontroler widoku (to wizualna reprezentacja na storyboardie), a następnie przejść do inspektora tożsamości i zamienić klasę UIViewController na twoją klasę sterownika

+0

Mam podobny problem, który miałeś Mam istniejący projekt, zacząłem bez storyboardu Teraz chciałbym dodać scenorys do mojego projektu, więc mogę dodawać obrazy łatwiejsze i przenosić etykiety dookoła, czy pomożesz mi, do tej pory dodałem scenorys i umieściłem kontroler widoku na tablicy, ale moja klasa kontrolera widoku nie pojawi się pod kontrolą inspektora ochrony tożsamości – KRUKUSA

38

Te dokładne kroki (używam XCode 4.5 i iOS 6.0) :

  1. Dodaj storyboard do projektu Plik-> Nowy-> File ...-> Userinterface-> storyboard
  2. Przejdź do podsumowania projektu i wybierz MainStoryboard storyboard i wybierz utworzony właśnie nazwę.
  3. Z pliku AppDelegate.m w metodzie didFinishLaunchingWithOptions, skomentuj wszystko oprócz ostatniej instrukcji, która zwraca TAK.

To wszystko. Teraz powinieneś zobaczyć swój początkowy widok podczas uruchamiania projektu.

1
  1. Dodaj Main.storyboard

  2. Dodaj wiersz w Info.plist> Main nazwę bazową plik Storyboard: Main

  3. Edycja kodu:

  • (BOOL): aplikacja (UIApplication *) didFinishLaunchingWithOptions: (NSDictionary *) launchOptions { // Zastąp punkt do personalizacji po uruchomieniu aplikacji. return TAK; }
24

Dla XCode 6 oraz systemów iOS 8 beta2:

  1. Utwórz plik Storyboard (nazwijmy go Main.storyboard). Wybierz iPhone'a lub iPada dla typu urządzenia.
  2. W pustym pliku Main.storyboard przeciągnij kontroler UIViewController z biblioteki obiektów.
  3. Jeśli scenorys ma być uniwersalnym scenopisem, należy przejść do Inspektora plików (w sekcji Narzędzia po prawej stronie) i zaznaczyć znacznik "Użyj klasy wielkości".
  4. Wybierz kontroler widoku w scenorysie i przejdź do Inspektora tożsamości (w sekcji Narzędzia po prawej stronie) i wpisz w polu "Klasa" nazwę kontrolera widoku.
  5. Znajdź plik "info.plist" w folderze "Pliki pomocnicze" po lewej stronie w sekcji Nawigator.
  6. Dodaj wiersz, klikając znak "+" po prawej stronie "listy właściwości".
  7. Wybierz "Nazwa podstawowego pliku głównego storyboardu" i wpisz nazwę pliku scenorysu w polu "Wartość" (w tym przypadku będzie to nazwa "Główny")
  8. W AppDelegate.m/AppDelegate. swift, w aplikacji method/func: didFinishLaunchingWithOptions: " usuń cały kod z wyjątkiem" return YES "(dla Objective-C) lub" return true "dla Swift.
+3

uniknięto po prostu wybierając Main.storyboard z menu rozwijanego w głównym interfejsie docelowym "Informacje o wdrażaniu" –

+1

Uzgodnione, wolałem dostarczyć trochę tego, co się dzieje "pod maską" – Raz

+0

Tylko to działa na nowym Xcode –

0

Nie zapomnij sprawdzić main.m:

#import <UIKit/UIKit.h> 
#import "YourAppDelegate.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([YourAppDelegate class])); 
    } 
} 
Powiązane problemy