Je crée une application en utilisant le nouveau langage rapide d'Apple.
L'application est universelle, j'ai donc créé XIB avec l'opérateur "~". Comme "MyView ~ iphone.xib" et MyView ~ ipad.xib " . Mais parfois, même lorsque mon application fonctionne sur iPad, elle charge la pointe de l'iPhone.
J'ai essayé beaucoup d'options mais toujours confronté au même problème.
Les gens peuvent penser que cela n'arrive jamais, mais je suis confronté à ce problème.
Réponses:
0 pour la réponse № 1Il serait préférable de voir le code mais je suppose que votre solution est comme ça
BOOL isPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
UIViewController *myViewController = [[UIViewController alloc] initWithNibName:isPad?@"MyView~ipad.xib":@"MyView~iphone.xib" bundle:nil];
0 pour la réponse № 2
Hé, essayez d'utiliser des classes de taille dans Interface Builderet vous n'aurez pas besoin de différents fichiers xib pour iPhone et iPad. Vous pouvez profiter des classes de taille et définir des contraintes dans le storyboard pour chacune des classes de taille. Je vous recommande de regarder WWDC 2014: session 216.
0 pour la réponse № 3
J'ai eu un problème comme cet objectif C, mais c'était déjà le cas dans iOS 6, je ne sais pas si cela pourrait résoudre votre problème, mais
Essayez de renommer les fichiers en
MyView~iphone.xib for iPhone
MyView.xib for iPad
Au lieu de
MyView~iphone.xib
MyView~ipad.xib
Je vous conseille d'utiliser des classes de taille car elles sont à l'épreuve du temps.