J'ai ajouté [email protected] à mon projet et je l'ai défini dans les paramètres du projet. J'ai également défini les options de réaugmentation automatique pour ma vue et les éléments de cette vue en cours de chargement sur mon application qui est uniquement en mode paysage, mais après avoir exécuté mon application dans iOS 6.0 Simulator Retina 4 inch, mon application s’est déplacée à gauche, laissant une zone de pixels noirs à droite.
Avez-vous une idée de ce que je devrais faire à côté de ces choses pour voir mon application s'exécuter en "plein écran" sur iOS 6.0 Simulator Retina 4 inch?
[edit # 1: AppDelegate]
J'ai également édité mon AppDelegate.m comme ceci:
viewControllerMain = [[ViewControllerMain alloc] init];
//[window addSubview:viewControllerMain.view];
window.rootViewController = viewControllerMain;
[edit # 2: Montage du cadre]
J'ai réussi à atteindre le mode plein écran, mais cela ne fonctionne pas comme il se doit. Je le fais dans mes vues:
CGRect frame = CGRectMake([UIScreen mainScreen].bounds.Origin.x, [UIScreen mainScreen].bounds.Origin.y, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width);
self.frame = frame;
Cela ne fait que me rendre en plein écran, mais la zone noire à droite dont j'ai parlé au début est mort et aucune interaction de l'utilisateur n'est possible dans cette zone (j'ai là-bas UIButton qui ne réagit pas) toucher). Donc, fondamentalement, ce que j'ai fait n'a fait que rendre ma vue plus complète, mais la fonctionnalité des éléments affichés est limitée à la zone où mon application a été initialement affichée lorsque je l'ai lancée pour la première fois sur le simulateur Retina 4 inch.
[edit # 3: Changer la taille d'UIView dans les fichiers XIB]
J'ai même essayé de changer la taille réelle de UIView dans mes fichiers XIB en les redimensionnant tous en Regina 4 Full Screen, mais toujours - même chose.
[edit # 4: Changer la taille d'un objet window]
J'ai essayé de changer la taille de l'objet window dans AppDelegate.m mais là encore pas de chance. Voici à quoi ressemble AppDelegate.m.
application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;
mainViewController = [[MainViewController alloc] init];
window.rootViewController = mainViewController;
// Override point for customization after application launch
[window setFrame:[UIScreen mainScreen].bounds];
[window makeKeyAndVisible];
[edit # 5: "Solution"]
Jusqu’à présent, j’ai fait ce qui suit: Dans IB, j’ai créé de nouvelles UIViews avec une taille de résolution d’iPhone 5, en attribuant les mêmes classes de propriétaires qui gèrent leurs UIViews équivalentes pour la résolution antérieure à iPhone 5 et dans le code où je dois charger certaines de ces UIViews. UIScreen mainScreen] .borders pour déterminer quel périphérique exécute actuellement mon application. De cette façon, j'ai réussi à faire fonctionner les choses.
Mais la question principale restait posée: pourquoi toutes mes critiques UIViews n’étaient-elles pas automatiquement étendues à une nouvelle résolution après avoir réalisé toutes les choses que j’avais mentionnées?
Quoi qu'il en soit, la prime reste active pendant 5 ou 6 jours. Si quelqu'un parvient à résoudre ce problème, je vous en serais très reconnaissant. Sinon, je donnerai une prime à @ onegray , car c'était la chose dont je n'avais pas pris soin en premier lieu, et dans ma mise en œuvre actuelle, c'est vraiment important.
Meilleures salutations.
[modifier # 6: MainWindow.xib plein écran au lancement option]
Comme @ user1702985 suggéré, j'ai activé cette optionSURcar elle a été désélectionnée. Mais pas de chance .
Lorsque je lance mon application, je montre une vue pendant 2 secondes avec un UIImageView dessus. Si je règle correctement les propriétés de redimensionnement automatique, cette UIView s’affiche en plein écran sur le simulateur iPhone 5. MAIS. Après cela, j'ai un deuxième UIView qui contient UIScrollView vertical, UIViews comme en-tête et pied de page et un UIButton, et je règle également toutes les options de redimensionnement automatique pour ces éléments, mais ce UIView est affiché dans la résolution de l'iPhone 4. C'est vraiment étrange et je ne sais toujours pas ce que ça peut être.
[edit # 7: Options de redimensionnement automatique définies]
Cette option de redimensionnement automatique est définie pour tous mes éléments UIViews et ses éléments.
[edit # 8: Explication du plein écran lors du lancement]
Propriétés MainWindow.xib.
Assurez-vous que la taille de la fenêtre de la clé est appropriée. La solution consiste à définir le cadre approprié: [window setFrame:[[UIScreen mainScreen] bounds]]
.
Mettre à jour:
Il est difficile de deviner où est le problème sans avoir le code source. J'ai créé un module d'application simple pour tester l'orientation de l'interface pour iPhone4/iPhone5 . Je viens de créer une nouvelle "application à vue unique", d'ajouter des sous-vues à la vue racine et des images "par défaut". Je l'ai fait dans Xcode 4.3.2 sans aucune fonctionnalité supplémentaire de Xcode 4.5.
Et l'application étend automatiquement son écran à la taille appropriée (pour les deux orientations portrait/landscape
).
J'espère que cela vous aidera mais vous n'êtes pas sûr d'obtenir un effet tactile en plein écran , vous devez donc vérifier si le contact est complet pour votre application.
Étape 1: Cliquez sur le projet de navigation indiqué dans l'image, puis cliquez sur le fichier manquant.
Étape 2: Dans la deuxième image, cliquez sur Ajouter.
Maintenant, projet exécuté, votre projet sera exécuté sur un écran ou un simulateur complet pour iPhone 5.!
J'ai eu le même problème d'une partie de l'écran qui ne répond pas à l'interaction de l'utilisateur. La sélection de l'option "Plein écran au lancement" sur le fichier MainWindow.xib m'a résolu le problème.
Quoi que je fasse, je ne pouvais pas obtenir mon application en plein écran.
Mais après avoir ajouté un fichier "[email protected] à mon application. Tous les fichiers xib sont exécutés en plein écran. Vous pouvez le tester rapidement en créant une nouvelle application en XCode et en copiant le fichier png noir créé.
Si vous utilisez XCode 6.1, essayez cette solution (pour les projets sans jeu d'images complet):
avez-vous essayé cela?
iOS Simulator> Matériel> Périphérique> iPhone (Retina 4-inch)
je viens de rencontrer le même problème et voici comment j'ai résolu.
Supprimer l'application sur le simulateur par LongPress-ing et l'exécuter à nouveau.
Cela fonctionne pour moi, après des ajustements de rétine de 4 pouces. Tout a été redimensionné automatiquement de la manière dont je travaille dans IB.
La même chose m'arrivait. J'essayais de créer un écran de démarrage vidéo, et comme je ne pouvais pas contrôler le moment où l'écran de démarrage était affiché, et que je ne pouvais donc pas afficher la vidéo complète, j'ai dû créer un faux écran de démarrage, qui était simplement un contrôleur a été montré en premier et ensuite enlevé. La vue de ce contrôleur n'était pas affichée en plein écran, peu importe ce que j'ai essayé. En fin de compte, j'ai découvert que c'était ce qui se passait parce que je n'avais pas d'image splash.
Solution: Ajoutez des écrans de démarrage à votre projet (même s’ils ne sont que des images noires), et le problème du plein écran devrait être corrigé.
Nous avons rencontré un problème similaire sur une application créée il y a 6 jours lors du test sur iOS 8.
La solution pour nous était de définir le drapeau "caché" sur MainWindow.xib.
Voici comment nous avons découvert le correctif ici .
S'il vous plaît ajouter un écran de lancement pour l'application.
Comment ajoutez-vous le viewController principal à la fenêtre? Le simple fait d'ajouter la vue en tant que sous-vue n'est plus pris en charge dans iOS6.
Voici un exemple d'un article sur mon blog qui explique comment faire fonctionner les applications avec la taille d'écran de l'iPhone 5.
Utilisez window.rootViewController pour ajouter votre vue initiale
Tout d'abord, si vous construisez vos vues initiales dans le code, veillez à ajouter votre vue initiale à la fenêtre avec window.rootViewController plutôt qu'à l'ancienne méthode consistant à simplement ajouter la vue en tant que sous-vue. Si vous ne le faites pas, la rotation automatique ne fonctionnera pas du tout pour votre application sous iOS 6.
Voici un exemple:
navigationController = [[UINavigationController alloc] initWithRootViewController: myRootVC];
//[window addSubview:[navigationController view]]; Don't do this!
window.rootViewController = navigationController; // Do this instead!
Plus à http://pervasivecode.blogspot.co.uk/2012/09/making-apps-work-on-iphone-5-screen-size.html