iOS
ModelPresentationStyles
Recherche…
Introduction
Les styles de présentation modale sont utilisés lorsque vous passez d'un contrôleur de vue à un autre. Il y a 2 façons de réaliser cette personnalisation. L'un se fait par code et l'autre par Interface Builder (à l'aide de segues). Cet effet est obtenu en définissant la variable modalPresentationStyle
sur une instance de UIModalPresentationStyle
enum. modalPresentationStyle
propriété modalPresentationStyle
est une variable de classe de UIViewController
et permet de spécifier comment un ViewController
est présenté à l'écran.
Remarques
Rappelez-vous toujours la mention suivante d'Apple.
Dans un environnement compact horizontalement, les contrôleurs de vues modales sont toujours présentés en plein écran. Dans un environnement horizontal régulier, il existe plusieurs options de présentation différentes.
Exploration de ModalPresentationStyle à l'aide d'Interface Builder
Ce sera une application très basique qui illustrera différents ModalpresentationStyle
dans iOS. Selon la documentation trouvée ici , il existe 9 valeurs différentes pour UIModalPresentationStyle
qui sont les suivantes,
-
fullScreen
-
pageSheet
-
formSheet
-
currentContext
-
custom
-
overFullScreen
-
overCurrentContext
-
popover
-
none
Pour configurer un projet, créez simplement un projet iOS normal et ajoutez 2 ViewControllers
. Placez un UIButton
dans votre ViewController
initial et connectez-le à 2nd ViewController
via un mécanisme Target -> Action
. Pour distinguer les deux ViewControllers
, définissez la propriété d'arrière-plan de UIView
dans ViewController
une autre couleur. Si tout se passe bien, votre Interface Builder devrait ressembler à ceci,
Assurez-vous de construire ce projet et de l'exécuter sur iPad (pour plus d'informations sur les raisons de l'iPad, reportez-vous à la section Remarques). Une fois que vous avez terminé la configuration de votre projet, sélectionnez-le et accédez à l' attributes inspector
. Vous devriez pouvoir voir quelque chose comme ça,
Définissez la propriété aimable à Present Modally
.
Maintenant, nous ne verrons pas tous les effets dans cet exemple car certains d'entre eux nécessitent peu de code.
Commençons par fullscreen
. Cet effet est sélectionné par défaut lorsque vous sélectionnez l' Present Modally
en Kind
. Lorsque vous construisez et exécutez, le 2nd ViewController
occupera tout l'écran de votre iPad.
Suivant est la pageSheet
. Vous pouvez sélectionner cette option depuis l'onglet Presentation
. Dans cette option, lorsque le périphérique est en mode portrait, le 2nd ViewController
est similaire au plein écran, mais en mode paysage, 2nd ViewController
réduit considérablement la largeur du périphérique. De plus, tout contenu non couvert par 2nd ViewController
sera grisé.
Pour le style formSheet
, le 2nd ViewController
est placé au centre du périphérique et sa taille est inférieure à celle du périphérique. De même, lorsque l'appareil est en mode paysage et que le clavier est visible, la position de la vue est ajustée vers le haut pour afficher le ViewController
.
Le dernier style que nous allons essayer est le popover
. Pour sélectionner ce style, sélectionnez Present as Popover
onglet Present as Popover
in Kind
. Le 2nd ViewController
est présenté sous la forme d'un petit popover (la taille peut être définie). Le contenu d'arrière-plan est grisé. Tout tapotement en dehors du popover rejetterait le popover. Votre Attributes Inspector
devrait ressembler à ceci,
Anchor
est l'élément d'interface utilisateur auquel vous souhaitez que la flèche de votre popover pointe. Directions
sont les directions que vous autorisez votre Anchor
popover à pointer.
Il y a plus que ces styles de présentation modaux de base, mais ils sont peu compliqués à réaliser et nécessitent du code. Plus de détails peuvent être trouvés dans la documentation Apple.