※ シミュレータで計測しています
WKInterfaceDevice
screenBounds
デバイスの画面範囲。コンテンツの内容に関わらず、デバイスごとに固定の数値。
WKInterfaceDevice.current().screenBounds
x | y | width | height | |
---|---|---|---|---|
38mm | 0 | 0 | 136 | 170 |
42mm | 0 | 0 | 156 | 195 |
40mm | 0 | 0 | 162 | 197 |
44mm | 0 | 0 | 184 | 224 |
41mm | 0 | 0 | 176 | 215 |
45mm | 0 | 0 | 198 | 242 |
SwiftUI GeometryReader
SwiftUIでサイズを取得するためのGeometryReader。
GeometryReader { geometry in }
size
コンテンツを表示できる範囲。
40mm, 44mm, 45mmは画面の丸みがあるため、SafeArea Bottom部分も除かれている。
width | height | |
---|---|---|
38mm | 136 | 151 |
42mm | 156 | 174 |
40mm | 161 | 141 |
44mm | 183 | 162 |
41mm | 174 | 147 |
45mm | 196 | 172 |
safeAreaInsets
top | left | bottom | right | |
---|---|---|---|---|
38mm | 19 | 0 | 0 | 0 |
42mm | 21 | 0 | 0 | 0 |
40mm | 28 | 0.5 | 28 | 0.5 |
44mm | 31 | 0.5 | 31 | 0.5 |
41mm | 34 | 1 | 34 | 1 |
45mm | 35 | 1 | 35 | 1 |
TabView内の画面 (PageNavigation有り)
38mm, 42mm, 41mmは、+7ptのSafeArea Bottomになる。 45mmは +8pt、 40mm, 44mmは変わらない。
size
| | width | height |
|---|---|---|---|
| 38mm | 136 | 144 |
| 42mm | 156 | 167 |
| 40mm | 161 | 141 |
| 44mm | 183 | 162 |
| 41mm | 174 | 140 |
| 45mm | 196 | 164 |
safeAreaInsets
top | left | bottom | right | |
---|---|---|---|---|
38mm | 19 | 0 | 7 | 0 |
42mm | 21 | 0 | 7 | 0 |
40mm | 28 | 0.5 | 28 | 0.5 |
44mm | 31 | 0.5 | 31 | 0.5 |
41mm | 34 | 1 | 41 | 1 |
45mm | 35 | 1 | 43 | 1 |
WKInterfaceController
SwiftUIを使わない場合、WKInterfaceControllerのメソッドからサイズを取得できる。
contentFrameは、SafeArea Left,Bottom,Rightも含んだ値になっているっぽい。
contentFrame
x | y | width | height | |
---|---|---|---|---|
38mm | 0 | 19 | 136 | 151 |
42mm | 0 | 21 | 156 | 174 |
40mm | 0 | 28 | 162 | 169 |
44mm | 0 | 31 | 184 | 193 |
41mm | 0 | 34 | 176 | 181 |
45mm | 0 | 35 | 198 | 207 |
contentSafeAreaInsets
top | left | bottom | right | |
---|---|---|---|---|
38mm | 19 | 0 | 0 | 0 |
42mm | 21 | 0 | 0 | 0 |
40mm | 28 | 0.5 | 28 | 0.5 |
44mm | 31 | 0.5 | 31 | 0.5 |
41mm | 34 | 1 | 34 | 1 |
45mm | 35 | 1 | 35 | 1 |