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
First step of 3D touch
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sonson
November 08, 2016
Programming
690
0
Share
First step of 3D touch
sonson
November 08, 2016
More Decks by sonson
See All by sonson
計算グラフのJITコンパイラをLLVM on C++で作ろう
sonsongithub
2
620
LLVMでHalideみたいな計算グラフ+JITを作りたい
sonsongithub
0
1.6k
LLVM Tutorial 02 - わいわいswiftc
sonsongithub
1
450
LLVM Tutorial - わいわいswiftc
sonsongithub
0
350
How to make and publish a Swift playground book for iPad
sonsongithub
5
19k
Swiftで実装するHTML特殊文字の高速処理
sonsongithub
3
8k
Getting started with 3D Touch
sonsongithub
0
790
SSLって必要ですか〜Let's Encryptを試してみよう
sonsongithub
3
600
Other Decks in Programming
See All in Programming
t *testing.T は どこからやってくるの?
otakakot
1
710
[RubyKaigi 2026] Require Hooks
palkan
1
220
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
660
ハーネスエンジニアリングとは?
kinopeee
12
6k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
640
The Less-Told Story of Socket Timeouts
coe401_
3
590
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
180
Vibe NLP for Applied NLP
inesmontani
PRO
0
460
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
240
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.6k
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.1k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
280
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Faster Mobile Websites
deanohume
310
31k
Facilitating Awesome Meetings
lara
57
6.8k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Building an army of robots
kneath
306
46k
Transcript
How to show it. Tech. Yuichi Yoshida Researcher, DENSO IT
Laboratory, Inc. #???? @sonson_twit © 2014 DENSO IT Laboratory, Inc., All rights reserved. Redistribution or public display not permitted without written permission from DENSO IT Laboratory, Inc. First step of 3D touch
ࣗݾհ • sonson • twitter: sonson_twit • github: sonsongithub •
portfolio • reddift(SwiftͰॻ͍ͨreddit.comͷAPIϥούʔ) • ࣄ • ը૾ೝࣝ/ݕࡧ/ͦΕΛͬͨΞϓϦ • ػցֶशͷ͓ษڧͱ͔ॾʑͱ͔
͜ͷϘέͳ͍ྖҬͷઃఆʙμϝͳྫ
͜ͷϘέͳ͍ྖҬͷઃఆʙOK
͜ͷϘέͳ͍ྖҬͷઃఆʙҰ൪͍͍
දࣔͷྲྀΕ • registerForPreviewingͰ४උ͢Δ • ͜͜Ͱ3D touchʹԠ͢ΔviewΛઃఆ͢Δ • previewingContext(_:viewControllerForLocation:) • sourceRectΛઃఆ͢Δ
• ্Ͱઃఆͨ͠viewͷ࠲ඪܥͰsourceRectΛηοτ
registerForPreviewing
previewingContext(_:viewControllerForLocation:) • Body
previewingContext(_:viewControllerForLocation:) 6*7JFX$POUSPMMFS1SFWJFXJOH%FMFHBUF 6*7JFX$POUSPMMFS 7JFX
previewingContext(_:viewControllerForLocation:) 6*7JFX$POUSPMMFS1SFWJFXJOH%FMFHBUF 6*7JFX$POUSPMMFS 7JFX %UPVDIൃੜ
previewingContext(_:viewControllerForLocation:) 6*7JFX$POUSPMMFS1SFWJFXJOH%FMFHBUF 6*7JFX$POUSPMMFS 7JFX ͳΜ͔ίϯςϯπ͋Δʁ ίϯςϯπ
previewingContext(_:viewControllerForLocation:) 6*7JFX$POUSPMMFS1SFWJFXJOH%FMFHBUF 6*7JFX$POUSPMMFS 7JFX 6*7JFX$POUSPMMFS ͜ͷྖҬ͔Β ͜ͷ7JFX$POUSPMMFSΛදࣔͯ͠ ίϯςϯπ
previewingContext(_:viewControllerForLocation:) • Body
previewingContext(_:viewControllerForLocation:) • Body
previewingContext(_:viewControllerForLocation:)
UIView.convert • ͋Δview͔Βݟͨɼ͋ΔviewͷrectΛܭࢉͯ͘͠ΕΔ • a.convert(rect:, to:b) • view aͷrectΛview b͔Βݟͨrectʹม
• a.convert(rect:, from:b) • view bͷrectΛview a͔Βݟͨrectʹม • ͋Γ·͢ • a.convert(point: to:b) • a.convert(point: from:b)
UIView.convert f=(200,50,50,60) b a c
UIView.convert f=(200,50,50,60) b a a.convert(f, from:c) => (800,80,50,60) c
UIView.convert f=(200,50,50,60) b a c.convert(f, to:a) => (800,80,50,60) c
Ԡ༻͢Δͱ
previewingContext(_:viewControllerForLocation:) • Body
αϯϓϧ • UZTextView • https://github.com/sonsongithub/UZTextView • developϒϥϯν
3D Touchͷςετ • ࣮ػ • Simulator
·ͱΊ • registerForPreviewingͰ४උ • viewΛొ • previewingContext(_:viewControllerForLocation:) • view controllerΛ࡞
• Ξχϝʔγϣϯ͍ͤͨ͞ྖҬΛܭࢉ • ฦ͢
None