Swift Practice # 157 推出View的方式與orientation UpsideDown小發現

Dogpa Chen
May 26, 2022

--

上一篇研究了Google Firebase的geopoint,對於存取地理資料有了新的處理方式,side project大致可以做出來了。

剛好遇到安裝套件的一些問題讓side project卡關,工作上與同事發現一個有趣的狀況在這裡分享給大家。

一般來說手機的操作的方式都是Home鍵在下方的握法,也就是Portrait的方向,手遊的部分可能就是Landscape Left與Landscape Right這兩個橫向螢幕的操作方式,但其實還有一個Updside Down的狀況,也就是Home鍵朝上的使用,但相對於一些極端情況,很少使用者會這樣操作,而多數App developer也多半沒有開放這個方向。因為工作上的需求與設定,我們剛好要測試四個device orientation的方向,也看到了一些有趣的地方。

首先先開啟一個SwiftUI的專案在Info將Supported interface orientation(iPhone)的四個方向都打開,預設部分是沒有Upside Down(Top home button),所以也可以看到通常我們不會去打開這個方向。

接著建立四個View,紅色與藍色塞入各自的Color,棕色與黃色加入一個Button與pressentationMode的變數。

接續在ContentView內加入剛剛的四個view,在此先忽略UI的設計XD。

接著就可以build了,因為simulator在UpsideDown怪怪的所以透過實機來測試。

上面的影面可以看到在Vstack透過if判斷的紅色與藍色的View在Upside Down可以順利的顯示。

上面的影片也可以看到透過.sheet推出來的黃色的View也沒問題。

讓我們不解的地方就在上面的影片,透過.fullScreenCover推出來的View在Upside Down竟然還是依照Portrait的方向來顯示,這是我們目前還在探索的地方,還不確定在這樣的狀況下為什麼沒有辦法在Upside Down的方向顯示。這也是未來可以探索跟找到答案的一個努力方向。所以從這個發現中,如果要在四個device orientation顯示的話,透過if判斷來改變View可能會是一個比較好的情況。持續加油!!

--

--

Dogpa Chen
Dogpa Chen

Written by Dogpa Chen

Smile Coding / iOS轉職路ING

No responses yet