Mam uniwersalną aplikację, w której ładuję główny scenorys ręcznie w application:didFinishLaunchingWithOptions
.Wybór różnych scenorysów w oparciu o typ urządzenia
Mam 2 storyboardy na iPhone'a i iPada, które mają przyrostki ~iPhone
i ~iPad
. Ja ładuje moje storyboard używając:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
self.initialViewController = [storyboard instantiateInitialViewController];
ten drukuje Unknown class ViewController in Interface Builder file.
do konsoli, więc widocznie to nie ładuje poprawnego storyboard. Jednak kiedy używam [UIStoryboard storyboardWithName:@"MainStoryboard~iPhone" bundle:nil];
działa dobrze, ale oczywiście będzie działać tylko dla iPhone'a.
Czego mi brakuje? Jak mogę użyć sufiksów nazw, aby automatycznie wybrać prawidłowy scenorys?
dlaczego nie przejdziesz do ustawień projektu i ustaw scenorium iphone w informacjach o rozmieszczeniu iPhone'a i scenariuszu na ipad w informacji o wdrażaniu iPada. używasz więcej niż jednego storyboardu na urządzenie? Chodzi mi o to, jaki jest twój cel w ręcznym ładowaniu scenorysów? – guenis
Co próbuję zrobić, to ustawić IIViewDeckController jako kontroler widoku root, więc ładowanie storyboardu automatycznie nie pomaga. –
Wygląda na to, że jest to błąd w niektórych wersjach (jest on uszkodzony w systemie iOS 6.1.2, ale działał wcześniej w tym samym projekcie). Według dokumentów firmy Apple przyrostek ~ iphone jest uniwersalny, powinien wpłynąć na wszystkie ładowanie zasobów (obrazy, pliki NIB - w moim poprzednim doświadczeniu, wszystko). Wygląda na to, że Storyboardy są zepsute i jakoś pomijają selektor. – Adam