Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
徐々に増えているSwiftUI Anchor関連API
Search
tokizo
October 13, 2025
0
15
徐々に増えているSwiftUI Anchor関連API
tokizo
October 13, 2025
Tweet
Share
More Decks by tokizo
See All by tokizo
iOS 曜日ランキングが出来上がるまで
tokizuoh
0
2.4k
メインスレッドをブロックさせないためのSwift Concurrencyクイズ
tokizuoh
1
5.2k
運動モチベーション継続のためのiOSアプリ開発
tokizuoh
0
970
Xcode 15 で swift run が遅い
tokizuoh
0
3.7k
モノレポにおける path-filtering利用時でも GitHub ステータスのRequiredを 機能させたい!
tokizuoh
1
1.5k
累積和で配列の処理効率を改善しよう
tokizuoh
0
660
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Documentation Writing (for coders)
carmenintech
75
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Navigating Team Friction
lara
189
15k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
How to Ace a Technical Interview
jacobian
280
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
BBQ
matthewcrist
89
9.8k
Transcript
徐々に増えている SwiftUI Anchor 関連API tokizo / @tokizuoh 2025/10/10 DroidKaigi &
iOSDC After Talks Night 1
2 SwiftUI Anchor 使っていますか?
3 SwiftUI Anchorを 使えたり、受け取るAPIは 年々増えている
4 今日はいくつか 関連APIを紹介
rotation3DEffect (_:axis:anchor:anchorZ:perspective:) • iOS 13.0+ • Viewを指定した軸を中心に3次元で回転 • 回転の中心をAnchorで指定 5
https://developer.apple.com/documentation/SwiftUI/Vie w/rotation3DEffect(_:axis:anchor:anchorZ:perspective:)
6 rotation3DEffect (_:axis:anchor:anchorZ:perspective:)
gridCellAnchor(_:) • iOS 16.0+ • Gridのセル内での配置をAnchorで指定 7 https://developer.apple.com/documentation/swiftui/view /gridcellanchor(_:)
• 左: 与えられた領域の中央寄せ • 右: gridCellAnchor を使って 全体の中央寄せ ◦ 🟥
.gridCellAnchor(.bottomLeading) ◦ 本API登場前は数ステップ必要だった i. セル内の要素のサイズ取得 ii. セルのサイズ取得 iii. セルの内側の端まで要素をoffset移動 gridCellAnchor(_:) 8
ViewAlignedScrollTargetBehavior (limitBehavior:anchor:) • iOS 26.0+ ◦ Anchorなし版はiOS 17.0+ • スクロール要素の端を所定の位置で停止できる
◦ scrollTargetBehavior(_:) に渡して使用 • スクロールする要素の止まる位置をAnchorで指定 9 https://developer.apple.com/documentation/swiftui/view alignedscrolltargetbehavior/init(limitbehavior:anchor:)
• スクロール後は一番近い要素の左端で 止まる ◦ anchor: .leading を指定 10 ViewAlignedScrollTargetBehavior (limitBehavior:anchor:)
11 Anchor文脈の .leading などは何者なのか
12 定義を見てみる
Anchorで指定できる型はUnitPoint 13
相対的な値で表現されている 14
15 カスタムなUnitPointを渡せば 表現の幅が広がりそう
16 試しに、子要素の幅 ⅔ で スクロールを止めてみる
17 子要素の幅 ⅔ でスクロールを止める
18 子要素の幅 ⅔ でスクロールを止める
まとめ • 3つのAnchor関連のAPIを紹介した ◦ rotation3DEffect ◦ gridCellAnchor ◦ ViewAlignedScrollTargetBehavior •
Anchorを受け取るAPIが増えている • AnchorはUnitPointで値を指定することでより細やかに 位置系を制御できる 19
20 おわり