L'ajout d'une sous-vue se comporte différents ad-hoc de la distribution
-
13-12-2019 - |
Question
C'est une bizarre.J'ai une application plus complexe que je ne détaillerai pas ici, mais l'une de ses caractéristiques est qu'il se superpose à un translucide noire vue sur le dessus de tout, à chaque fois qu'une connexion est établie avec le serveur.
J'ajoute que vue comme cela:
MyAppDelegate *appDelegate = (MyAppDelegate *)app.delegate;
[appDelegate.window addSubview:http.progressView.view];
Lorsque je l'exécute sur le simulateur ou sur l'appareil, tout fonctionne bien:l'écran noir superpositions de tout le reste comme prévu.
Ce qui est étrange, c'est que:J'archive de l'application, l'emballer comme .ipa fichier puis de l'installer sur le téléphone à l'aide d'itunes (ou TestFlight).Quand je fais cela, dans certains endroits, le noir de superposition est offseted dans le coin supérieur droit de l'écran, avec environ 10 pixels, comme le frame.origin.x
sera de 10 et frame.origin.y
sera -10.
Quelqu'un sait ce qu'peuvent différer lors de la construction des applications .ipa qui lui permet de se comporter de façon différente.J'ai peur de ce ne se passe pas aussi quand je vais le construire pour le déploiement.
La solution
La différence est que ça va être construit avec la libération des paramètres au cours de l'archive (par ex.optimisation du niveau de s
généralement, vs optimisation du niveau de 0
pour debug).
Vous n'êtes pas le cadre de http.progressView.view
qui est probablement à l'origine des problèmes.Il faut l' applicationFrame
de la fenêtre UIScreen
:
http.progressView.view.frame = appDelegate.window.screen.applicationFrame;