Ive été à la recherche de la réponse à cela, mais rien encore.Liaison multiple xib à un contrôleur
J'essaye de contourner un problème si j'avais une vue qui redimensionne automatiquement. Si 3GS, etc ... il utilise picture.png, si iphone 4 & 5 il utilise [email protected]
Toutefois, lorsque le redimensionnement se produit, l'arrière-plan sur l'iPhone 4 s'étire sous la bordure inférieure, de sorte qu'une partie de l'arrière-plan est couverte.
sur l'iphone 5 il correspond parfaitement, mais les boutons ne s'ajustent pas, ils restent en place comme si l'écran venait d'une 3G (même chose si l'iphone 4 est le simulateur).
Si vous avez une solution pour le problème ci-dessus, je suis tout ouïe, je suis très nouveau à xcode, et j'essaie juste d'apprendre.
En tant que travail autour, je pensais à la vérification de screensize, puis le chargement d'un xib construit pour cet écran, mais mon application se bloque avec le code suivant:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGFloat screenHeight = screenSize.height;
if (screenHeight == 568){
nibNameOrNil = (NSString*)@"main5";
self = [self initWithNibName:nibNameOrNil bundle:nil];
if (self) {
// Custom initialization
}
}else{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
}
return self;
Nous vous remercions à l'avance
debug
auto Mainscreencantroller * 0x00000000 nibNameOrNil NSString * 0x02a01196 NSObject NSObject
isa classe 0x656a 626F [0] Classe
nibBundleOrNil __NSArrayM * 0x0a55d3e0
Vous appelez [self initWithNibName: nibNameOrNil bundle: nil] ;. Cela devrait probablement être super – NSAddict
La bonne solution est de se renseigner sur le nouveau système de contrainte de mise en page pour gérer les tailles et les positions des vues. Vous ne devriez pas avoir besoin de deux fichiers xib différents. En outre, la taille de l'écran sur l'iPhone 4 est la même que 3 pas 5. – rdelmar