iOS
ModelPresentationStyles
Zoeken…
Invoering
Modale presentatiestijlen worden gebruikt wanneer u overstapt van de ene viewcontroller naar de andere. Er zijn 2 manieren om deze aanpassing te bereiken. De ene is via code en de andere via Interface Builder (met behulp van segmenten). Dit effect wordt bereikt door de variabele modalPresentationStyle
te stellen op een instantie van UIModalPresentationStyle
enum. modalPresentationStyle
eigenschap modalPresentationStyle
is een klassenvariabele van UIViewController
en wordt gebruikt om aan te geven hoe een ViewController
op het scherm wordt gepresenteerd.
Opmerkingen
Onthoud altijd de volgende vermelding van Apple.
In een horizontaal compacte omgeving worden modale weergavecontrollers altijd op volledig scherm gepresenteerd. In een horizontaal normale omgeving zijn er verschillende presentatie-opties.
ModalPresentationStyle verkennen met Interface Builder
Dit wordt een zeer eenvoudige app die verschillende ModalpresentationStyle
in iOS zal illustreren. Volgens de documentatie die hier wordt gevonden, zijn er 9 verschillende waarden voor UIModalPresentationStyle
die als volgt zijn,
-
fullScreen
-
pageSheet
-
formSheet
-
currentContext
-
custom
-
overFullScreen
-
overCurrentContext
-
popover
-
none
Om een project in te stellen, maakt u gewoon een normaal iOS-project en voegt u 2 ViewControllers
. Plaats een UIButton
in uw eerste ViewController
en verbind deze met de 2e ViewController
via een Target -> Action
mechanisme. Om beide ViewControllers
te onderscheiden, stelt u de achtergrondeigenschap van UIView
in ViewController
een andere kleur in. Als alles goed gaat, zou je Interface Builder er zo uit moeten zien,
Zorg ervoor dat u dit project bouwt en uitvoert op iPad (zie het gedeelte Opmerkingen voor meer informatie over de iPad). Als u klaar bent met het instellen van uw project, selecteert u het segment en gaat u naar de attributes inspector
. Je zou zoiets moeten kunnen zien,
Stel de eigenschap type in op Present Modally
.
Nu zullen we niet alle effecten in dit voorbeeld zien, omdat voor sommige een beetje code nodig is.
Laten we beginnen met fullscreen
. Dit effect wordt standaard geselecteerd wanneer u Present Modally
op het tabblad Kind
. Wanneer u bouwt en uitvoert, neemt de 2e ViewController
het volledige scherm van uw iPad in beslag.
Het volgende is pageSheet
. U kunt deze optie selecteren op het tabblad Presentation
. In deze optie, wanneer het apparaat in de ViewController
modus staat, is de 2e ViewController
vergelijkbaar met volledig scherm, maar in de liggende modus is de 2e ViewController
veel smaller dan de breedte van het apparaat. Alle inhoud die niet door 2nd ViewController
wordt gedekt, wordt ook grijs weergegeven.
Voor formSheet
stijl wordt de 2e ViewController
in het midden van het apparaat geplaatst en is de grootte kleiner dan die van het apparaat. Ook wanneer het apparaat zich in de liggende modus bevindt en het toetsenbord zichtbaar is, wordt de weergavepositie naar boven aangepast om de ViewController
te tonen.
De laatste stijl die we gaan proberen is popover
. Selecteer Present as Popover
op het tabblad Kind
om deze stijl te selecteren. De 2e ViewController
wordt gepresenteerd als een kleine popover (grootte kan worden ingesteld). De achtergrondinhoud is grijs. Elke tik buiten de popover zou de popover sluiten. Uw Attributes Inspector
zou er ongeveer zo uit moeten zien,
Anchor
is het UI-element waarnaar u uw popover-pijl wilt wijzen. Directions
zijn de richtingen waarin uw popover- Anchor
kan wijzen.
Er zijn meer dan deze basismodale presentatiestijlen, maar ze zijn weinig ingewikkeld om te bereiken en vereisen wat code. Meer details zijn te vinden in de Apple-documentatie.