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
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.7k
ARKit + SceneKitでMinesweeperを作ってみた
matuyuji
1
780
Go + QtでiOS アプリ開発
matuyuji
0
380
@_specialized なお話し
matuyuji
0
470
Xcode Souce Code Extensionを使ってみた
matuyuji
0
350
Codebeatを 試してみた
matuyuji
0
750
React Nativeで UIコンポーネントをつくる
matuyuji
0
1k
React Nativeを使ってみた
matuyuji
0
1.3k
SwiftでLens
matuyuji
1
950
Other Decks in Programming
See All in Programming
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.6k
CI改善もDatadogとともに
taumu
0
110
sappoRo.R #12 初心者セッション
kosugitti
0
230
GAEログのコスト削減
mot_techtalk
0
110
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
170
Immutable ActiveRecord
megane42
0
130
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
120
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
Software Architecture
hschwentner
6
2.1k
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
210
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
660
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
182
22k
KATA
mclloyd
29
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Designing Experiences People Love
moore
139
23k
Designing for Performance
lara
604
68k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for humans not robots
tammielis
250
25k
Docker and Python
trallard
44
3.3k
Practical Orchestrator
shlominoach
186
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