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
InterApp DnD in iOS 9
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
matuyuji
September 30, 2015
Programming
0
2.3k
InterApp DnD in iOS 9
iOS 9 の split view でアプリ間でのドラッグ&ドロップのデモアプリの紹介と実装についての解説
matuyuji
September 30, 2015
Tweet
Share
More Decks by matuyuji
See All by matuyuji
Emacs × Touch Bar
matuyuji
2
1.9k
ARKit + SceneKitでMinesweeperを作ってみた
matuyuji
1
810
Go + QtでiOS アプリ開発
matuyuji
0
410
@_specialized なお話し
matuyuji
0
500
Xcode Souce Code Extensionを使ってみた
matuyuji
0
420
Codebeatを 試してみた
matuyuji
0
790
React Nativeで UIコンポーネントをつくる
matuyuji
0
1.1k
React Nativeを使ってみた
matuyuji
0
1.4k
SwiftでLens
matuyuji
1
1k
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
CSC307 Lecture 01
javiergs
PRO
0
690
CSC307 Lecture 07
javiergs
PRO
0
550
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
350
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
Grafana:建立系統全知視角的捷徑
blueswen
0
330
SourceGeneratorのススメ
htkym
0
200
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Patterns of Patterns
denyspoltorak
0
1.4k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Statistics for Hackers
jakevdp
799
230k
Navigating Weather and Climate Data
rabernat
0
110
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Tell your own story through comics
letsgokoyo
1
810
How to train your dragon (web standard)
notwaldorf
97
6.5k
How to make the Groovebox
asonas
2
1.9k
Facilitating Awesome Meetings
lara
57
6.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Transcript
%O%JOJ04 UIF&SBPG.VMUJUBTLJOH !NBUVZVKJ ؔϞόΠϧΞϓϦݚڀձ
!NBUVZVKJ TBGYEFWCMPHTQPUKQ
TBGYJPTEOEEFNP
.VMUJUBTLJOH 4MJEFPWFS 4QMJUWJFX 1JDUVSFJOQJDUVSF
Two foreground apps
4QMJUWJFXBMMPXTVTFSTUP JOUFSBDUCFUXFFOUXPBQQT
%O%CFUXFFO UXPBQQT
UPVDIFT.PWFE (-100, 400) (607, 400) (-507, 0) (507, 0) %SBHFWFOUTDPOUJOVFPOUIFPVUFSPGUIFXJOEPXPGBQQ
*OUFSBQQ%O% 4PVSDF"QQ %FTU"QQ touchesBegan touchesMoved touchesEnded 4IBQFJOGP $PPSEJOGP *OOFSPSPVUFS
*1$ w 1BTUFCPBSE w $'.FTTBHF1PSU X"QQ(SPVQT*% w .BDI1PSU mach_msg_send
w %BSXJO/PUJpDBUJPO w 4IBSFE6TFS%FGBVMUT X"QQ(SPVQT*%
1BTUFCPBSE 5JNFS UPPMBUFUPSFDFJWF6*1BTUFCPBSE$IBOHFE/PUJpDBUJPO let p = touches.first!.locationInView(view) myPasteboard.string = "M,\(Int(p.x)),\(Int(p.y))"
dispatch_source_set_timer(timer, now, USEC_PER_SEC * 50, 0) dispatch_source_set_event_handler(timer) { () -> Void in if let pb = UIPasteboard(name: otherID, create: false) { : } } dispatch_resume(timer) 4PVSDF"QQ VTFTOBNFEQBTUFCPBSE %FTU"QQ LOPXTTPVSDFBQQ`TQBTUFCPBSEOBNF
3FGFSFODFT w "EPQUJOH.VMUJUBTLJOH&OIBODFNFOUTPOJ1BE IUUQTEFWFMPQFSBQQMFDPNMJCSBSZQSFSFMFBTFJPTEPDVNFOUBUJPO8JOEPXT7JFXT$PODFQUVBM "EPQUJOH.VMUJUBTLJOH0OJ1BEJOEFYIUNM w *OUFSQSPDFTTDPNNVOJDBUJPOPOJ04XJUI.BDINFTTBHFT IUUQEEFWJMMFNFJOUFSQSPDFTTDPNNVOJDBUJPOPOJPTXJUINBDINFTTBHFT w
*OUFS1SPDFTT$PNNVOJDBUJPO IUUQOTIJQTUFSDPNJOUFSQSPDFTTDPNNVOJDBUJPO