Ez az első alkalmazásom, amely storyboardokat/segues-t használ, és egészen biztos vagyok benne, hogy a válasz erre egyszerű, de a lehető legapróbb módon leírom a problémámat.
Készítek egy egyszerű alkalmazást, amelyben van egy Tab Bar Controller jelenet és két nézetvezérlő.
Az alkalmazásom úgy indul el, hogy egy másik alkalmazás URL-jét küldi. Az alkalmazásmeghatalmazott application:openURL:sourceApplication:annotation:
metódusa elvégzi a meghatározást
- melyik lap jelenik meg először, és
- milyen információkat jelenítsen meg rajta.
Célom, hogy a performSegueWithIdentifier
metódust (bár nyitott vagyok az alternatívákra) az AppDelegate lapon belül válasszam ki a lapot, és megtaláljam a módját, hogyan küldjem el a metódust a létrehozott nézetvezérlő példányához. a storyboard által.
Az 1. probléma az, hogy nem tudok azonosítót beállítani. Amikor kiválasztom a „kapcsolat” lapot, az Attribútumvizsgálóban nem állnak rendelkezésre választási lehetőségek (az „Nem alkalmazható”). Hogyan adhatok nevet ennek a sorozatnak? Tudok? Vagy van valami szabály, amely szerint az UITabBarController szakaszok nem aktiválhatók programozottan?
2. probléma az, hogy nem találom a módját, hogy mutatót mutassak a nézetvezérlőre. A Storyboard előtt alloc
és init
új nézetvezérlőt készítek, majd beállítom, de ha ezt teszem, akkor nem jelenik meg, amikor az alkalmazásom elindul (ez szerintem azért van, mert a Storyboard ugyanannak a nézetnek egy másik példányát jeleníti meg vezérlő.)
Tudom, hogy ez a bejegyzés hosszú, de úgy érzem, valami egyszerű dolog hiányzik. Mi az?
instantiateViewControllerWithIdentifier
használatát javasolja. Ez létrehozza a nézetvezérlő új példányát, így az általam végrehajtott módosítások (például az UILabelek szövegének beállítása) nem jelennek meg az alkalmazás indításakor. Hacsak nem állítom be a nézetvezérlőt a gyökérnézetvezérlőre, ebben az esetben a TabBar már nem jelenik meg. 02.07.2012