iOS
ModelPresentationStyles
Sök…
Introduktion
Modala presentationsstilar används när du övergår från en visningskontroller till en annan. Det finns två sätt att uppnå denna anpassning. En är genom kod och en annan via Interface Builder (med hjälp av segment). Denna effekt uppnås genom att ställa in modalPresentationStyle
variabeln till en instans av UIModalPresentationStyle
enum. modalPresentationStyle
egenskapen är en klassvariabel för UIViewController
och används för att specificera hur en ViewController
på skärmen.
Anmärkningar
Kom alltid ihåg följande omnämnande från Apple.
I en horisontellt kompakt miljö presenteras alltid modala visningskontroller på hela skärmen. I en horisontellt regelbunden miljö finns det flera olika presentationsalternativ.
Utforska ModalPresentationStyle med Interface Builder
Detta kommer att vara en mycket grundläggande app som illustrerar olika ModalpresentationStyle
i iOS. Enligt dokumentation som hittas här finns det 9 olika värden för UIModalPresentationStyle
som är följande:
-
fullScreen
-
pageSheet
-
formSheet
-
currentContext
-
custom
-
overFullScreen
-
overCurrentContext
-
popover
-
none
För att konfigurera ett projekt, skapa bara ett normalt iOS-projekt och lägg till 2 ViewControllers
. Sätt en UIButton
i din första ViewController
och anslut den till 2nd ViewController
via en Target -> Action
. För att skilja båda ViewControllers
anger du bakgrundsegenskap för UIView
i ViewController
någon annan färg. Om allt går bra, bör din Interface Builder se ut något så här,
Se till att du bygger detta projekt och kör det på iPad (För detaljer om varför iPad, se avsnittet Kommentarer). När du är klar med att konfigurera ditt projekt väljer du segmentet och går till attributes inspector
. Du borde kunna se något liknande,
Ställ in den Present Modally
till Present Modally
.
Nu kommer vi inte att se alla effekterna i det här exemplet eftersom vissa av dem kräver lite kod.
Låt oss börja med fullscreen
. Denna effekt väljs som standard när du väljer Present Modally
i fliken Kind
. När du bygger och kör, skulle andra ViewController
uppta hela skärmen på din iPad.
Nästa är pageSheet
. Du kan välja det här alternativet på fliken Presentation
. I det här alternativet, när enheten är i porträttläge, är den andra ViewController
liknar fullskärm men i liggande läge, är 2nd ViewController
mycket smal enhetens bredd. Allt innehåll som inte täcks av 2nd ViewController
kommer att dimmas.
För formSheet
stil formSheet
den andra ViewController
i mitten av enheten och storleken är mindre än den för enheten. När enheten är i liggande läge och tangentbordet är synligt syns positionen uppåt för att visa ViewController
.
Den sista stilen som vi ska prova är popover
. För att välja den här stilen väljer du Present as Popover
i fliken Kind
. Den andra ViewController
presenteras som en liten popover (storlek kan ställas in). Bakgrundsinnehållet är nedtonat. Varje kran utanför popover skulle avvisa popover. Din Attributes Inspector
bör se ut så här,
Anchor
är det UI-element du vill att din popover-pil ska peka till. Directions
är anvisningarna som du tillåter ditt popover- Anchor
att peka på.
Mer än dessa grundläggande modala presentationsstilar, men de är lite komplicerade att uppnå och kräver viss kod. Mer information finns i Apple-dokumentationen.