J'ai recherché et j'ai toujours un problème pour que mon application s'adapte à toutes les tailles d'iPhone en mode Portrait, de l'iPhone 4 au plus grand iPhone actuellement.

Quelle est la meilleure façon de faire en sorte que mon application s'adapte à tous les iPhones de taille en mode portrait?

J'ai créé l'application dans la taille de l'iPhone Xs. Que puis-je faire pour que mon application s'adapte à toutes les tailles d'iPhone à partir de l'iPhone 4 et plus?

-2
LizG 20 nov. 2018 à 01:55

3 réponses

Meilleure réponse

La seule façon d'accomplir cela est de rendre tout proportionnel en termes de largeur et de hauteur, vous devez donc oublier de définir des valeurs statiques, une autre façon est de rendre le contenu défilant et de définir la largeur / hauteur dont vous avez besoin, aussi je vous conseille à dire avec l'iphone 5/4 pour vous rapprocher des appareils de détourage afin de mieux construire le design et à coup sûr qu'il évoluera correctement dans les grands appareils, quelques éléments clés à rechercher

Mise en page automatique

Mise en page automatique adaptative

Guides de disposition des zones de sécurité

N'hésitez pas également si vous êtes confronté à un calcul complexe pour faire glisser la contrainte comme sortie et l'ajuster dans le code

2
Sh_Khan 19 nov. 2018 à 23:11

Vous devriez lire dans iOS Mise en page automatique. Il a toutes les fonctionnalités mais une courbe d'apprentissage abrupte. Une fois que vous avez compris les principes, tout commence à fonctionner automatiquement (à part quelques bugs).

Pour vous adapter aux différentes tailles d'écran de l'iPhone, vous devez également utiliser le guide des marges de mise en page pour s'assurer que les plus gros iPhones ont des marges plus importantes et vice versa.

Étant donné que l'iPhone X et les plus récents ont d'autres ratios d'affichage, vous voudrez peut-être faire quelque chose de spécial à ce sujet dans le code si votre interface utilisateur ne comprend pas toutes des listes ou des éléments de base.

1
fl034 19 nov. 2018 à 23:03

En règle générale, la meilleure façon d'adapter votre interface utilisateur à plusieurs appareils est d'utiliser Disposition automatique. Au lieu de définir votre interface avec des tailles de trame fixes, vous utilisez des contraintes qui calculent les trames au moment de l'exécution en fonction du périphérique.

Des contraintes peuvent être ajoutées dans Interface Builder en faisant glisser la touche Ctrl d'un composant de vue vers un autre, puis en les ajustant à l'aide de l'inspecteur d'attributs.

Sinon, si vous préférez, vous pouvez créer et appliquer vos contraintes dans le code:

override func viewDidLoad() {
    super.viewDidLoad()

    let myView = UIView()
    myView.backgroundColor = .red
    myView.translatesAutoresizingMaskIntoConstraints = false

    view.addSubview(myView)

    NSLayoutConstraint.activate([
        myView.widthAnchor.constraint(equalToConstant: 50),
        myView.heightAnchor.constraint(equalToConstant: 50),
        myView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
        myView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
    ])
}

L'exemple ci-dessus ajoutera une boîte rouge au centre de l'écran, quelle que soit la taille de l'écran de l'appareil.

Auto Layout Example

1
ryanecrist 19 nov. 2018 à 23:36