Utiliser le storyBoard uniquement pour iPad
LeChatNoir
Membre, Modérateur
Hello,
Je bosse sur une mise à jour de mon appli qui est universelle. La version iPhone est finalisée et je vais maintenant me pencher sur la version iPad.
Je n'ai jamais utiliser les storyboard et pour la version iPad, comme je vais implementer un SpliViewController, je me demandais si je me lancerai pas.
La question est donc, est-ce possible ?
J'imagine que je dois créer un storyboard et que tout va se jouer dans le appDelegate ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
corrigé
Bon alors, après qques recherches, il semblerait qu'on ne peut avoir les 2 clés en même temps dans les properties :
-> main nib file base name
-> main storyboard file base name
Xcode génère un warning et j'ai lu qquepart que c'était source de rejet d'appli.
Il est donc visiblement conseillé de créer 2 storyboard :
-> 1 pour iPhone dans lequel il suffirait juste de "glisser" le MainWindow.xib précédent
-> 1 pour iPad
Seulement, je suis noob et je n'arrive à glisser mon xib nul part....
Ok, finalement, pas besoin de glisser quoi que ce soit.
Dans mon StoryBoard iPhone, je glisse un UINavigationViewController, je le défini comme "Init VC" et comme classe, je lui colle ma classe RootController perso.
Dans mon application delegate, j'ai remplacé la vieille méthode :
- (void)applicationDidFinishLaunching:(UIApplication *)application {
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CGRect rect = [[UIScreen mainScreen] bounds];
[window setFrame:rect];
[window addSubview:[navigationController view]];
window.rootViewController=navigationController;
[window makeKeyAndVisible];
Et ça semble fonctionner. Je continue mes investigations
Le dernier truc qui me gène maintenant, c'est que le navigationController dans le storyboard est forcément un UITableViewController... Pas un UIViewController.
Ca me gène car moi, j'avais une petite image en surimpression de ma tableView et là , je vois pas comment la mettre....
Une idée ?
Oui merci
Je découvre storyboard alors excusez mes lacunes...
Effectivement, le NavigationController a par défaut un tableview controller comme rootView mais on peut très bien l'effacer et le remplacer par un UIViewController.
C'est ok pour le côté iPhone, ça fonctionne.
Maintenant, reste à m'atteler à la partie iPad.
Je t'en pries ! StoryBoard c'est fun et puissant donc pas vraiment de raison de ne pas s'y mettre. Bonne continuation dans ta découverte.
Bon dimanche !
Pour faire les storyboards différents, pour iPad et iPhone, il faut régler le truc au fond. Avant de mettre quelque chose sur le view, cliques sur Any Width | Any Height et changes le vers Compact | Regular - ça te donne une vue pour les iPhones de toutes tailles en portrait. Positionnes les contrôles comme tu veux pour cette disposition.
Puis, cliques sur Compact | Regular et changes le vers Regular | Compact - ça te donne en plus une vue pour les iPhone de toutes tailles en paysage. Positionnes les contrôles comme tu veux pour cette disposition.
Puis, cliques sur Regular | Compact et changes le vers Regular | Regular - ça te donne en plus une vue pour les iPad, soit en portrait, soit en paysage. Positionnes les contrôles comme tu veux pour cette disposition.
De mon avis, c'est au même temps pratique et frustrant. Je préfère les storyboards séparés, mais Apple a parlé et il faut changer >:(