技術文章
技術問答
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2021 iThome 鐵人賽
DAY
20
0
Mobile Development
麻瓜學習 iOS 開發
系列 第
20
篇
Day20:SwiftUI—GeometryReader
13th鐵人賽
enolazxy
2021-10-05 23:52:05
1159 瀏覽
分享至
前言
本篇文章介紹 SwiftUI 的元件—GeometryReader。
實作
打開一個新專案
建立一個矩形:
這個矩形的位置是 hard code 出來的,
但我們的裝置很常不一樣,
所以我們需要一個相對的位置和框架大小。
加入 GeometryReader
這樣我們可以獲得整個屏幕的尺寸,
讓我們來相對的確定位置:
print 相應的 global 幾何坐標
print 相應的 local 幾何坐標
可以發現 global、local 數字不同。
因為 global 是指相對整個屏幕的坐標,
local 是指相對於其父級即這個 GeometryReader 的框架的坐標。
宣告兩個矩形
output 這兩個矩形的坐標:
會發現是相同的,
這是因為這兩個矩形都是相對同一個 GeometryReader 確定坐標的,
所以這個坐標是相對的而不是實際位置的坐標。
如果把這兩個矩形包在不同的 GeometryReader 裡:
則 output 出的坐標是不同的:
將多個元素直接放在 GeometryReader 是直接堆疊在一起的,類似 ZStack
創造重疊效果
刪除紅色矩形,並且修改兩個矩形長度:
添加 offset modifier:
出現重疊效果。
留言
追蹤
檢舉
上一篇
Day19:SwiftUI—Button
下一篇
Day21:開發自己的 APP 的前置步驟
系列文
麻瓜學習 iOS 開發
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Day26:TabView
27
Day27:用 EnvironmentObject 傳遞數據
28
Day28:Update the Data and the Featured View
29
Day29: Picker controller
30
Day 30 : DetailView
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19837
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
有人願意割愛Microsoft SQL Server Reporting Services報表服務 書嗎?
請益演算法市面推薦書籍
熱門回答
請益演算法市面推薦書籍
有人願意割愛Microsoft SQL Server Reporting Services報表服務 書嗎?
熱門文章
Claude code 新手篇 1 : Claude Code 從零開始 — 我用它把個人網站從企業官網風格改成雜誌風格
用 LINE Flex Message 打造「企業電子薪資單」與「汽車 OMO 保養報告」的萬無一失架構
黃仁勳說了哪些重點?NVIDIA GTC Taipei 2026 完整懶人包
別跟 AI 浪潮硬碰硬,Dell 財報把話說白了
檔案比對這件事,做對工具差很多 — — Beyond Compare 介紹
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}