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
2.4k
0
Share
InterApp DnD in iOS 9
iOS 9 の split view でアプリ間でのドラッグ&ドロップのデモアプリの紹介と実装についての解説
matuyuji
September 30, 2015
More Decks by matuyuji
See All by matuyuji
Emacs × Touch Bar
matuyuji
2
1.9k
ARKit + SceneKitでMinesweeperを作ってみた
matuyuji
1
820
Go + QtでiOS アプリ開発
matuyuji
0
420
@_specialized なお話し
matuyuji
0
510
Xcode Souce Code Extensionを使ってみた
matuyuji
0
430
Codebeatを 試してみた
matuyuji
0
800
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
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
510
Rethinking API Platform Filters
vinceamstoutz
0
9.9k
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
110
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
560
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
440
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
830
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
220
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
Making Projects Easy
brettharned
120
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
WCS-LA-2024
lcolladotor
0
520
Why Our Code Smells
bkeepers
PRO
340
58k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Code Review Best Practice
trishagee
74
20k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
BBQ
matthewcrist
89
10k
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