[iOS] Création d'interface par le code et détection de la taille d'écran

S’il y a bien un bout de code que je copie-colle souvent de projet en projet, c’est celui qui me permet de détecter la taille de l’écran.

En effet, depuis la sortie de l’iPhone 5 dans la famille des devices Apple les développeurs doivent faire avec deux tailles différentes pour les iPhones. Sans compter que si l’on développe une application universelle (iPad + iPhone) on se rajoute une taille d’écran !

Bien sûr certain me diront qu’avec le storyboard et l’auto-layout on s’évite pas mal de soucis. Je répondrais que je suis entièrement d’accord lorsque l’on veut designer rapidement une application simple, mais personnellement j’ai eu beaucoup plus de problèmes avec que sans storyboard.

Un vrai geek moi ?

Du coup j’ai adopter la méthode « pure geek » : pas de storyboard, l’interface est codée à la main. Cette méthode est certes (très) longue à mettre en place mais elle m’évite tellement de problèmes par la suite que pour l’instant je suis prêt a le faire.

Pour ne pas perdre ce bout de code (et surtout m’éviter de le rechercher dans mes projets précédants) je le partage dans cet article. Qu’il serve a qui en aura besoin !

if([[UIDevice currentDevice]userInterfaceIdiom]UIUserInterfaceIdiomPhone){  
    if([[UIScreen mainScreen] bounds].size.height 568){ 
        // code d'initialisation avec frame pour iPhone 5 
    } else { 
        // code d'initialisation avec frame pour iphone 4s et en dessous 
    }

    // code commun à toutes les versions d'iPhone}else{ // tous les codes concernant l'pad
}

Nathanaël Cherrier

Ingenieur de développement mobile et web pour Econocom. Passionné par le développement en général, mais plus particulièrement par le développement web et mobile, je vous raconte mes petits secrets.

Subscribe to Mindsers IT

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!