Soumettre la recherche
Mettre en ligne
3D touch for iOS
•
6 j'aime
•
5,719 vues
T
toyship
Suivre
3D touch for iOS
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 30
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
Daisuke Yamashita
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
Shingo Tamaki
fastlane触ってみた
fastlane触ってみた
Shingo Tamaki
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ
Satoshi Maemoto
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotips
Yusuke Kita
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
Recommandé
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
Daisuke Yamashita
iOSアプリ UIテスト自動化入門
iOSアプリ UIテスト自動化入門
Shingo Tamaki
fastlane触ってみた
fastlane触ってみた
Shingo Tamaki
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
楽しいものづくり ファーストステップ
楽しいものづくり ファーストステップ
Satoshi Maemoto
iOSにおけるUIテスト@potetotips
iOSにおけるUIテスト@potetotips
Yusuke Kita
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
Nozomi Ito
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
leverages_event
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
Toshiki Iga
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
Leap motion.js
Leap motion.js
Haraguchi Go
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fumiya Sakai
Unity(再)入門
Unity(再)入門
Takayoshi Tanaka
Watch kit解説と実際のtips
Watch kit解説と実際のtips
篤 富田
プログラムで映像をつくるとは?? ~超入門編~
プログラムで映像をつくるとは?? ~超入門編~
Ryo Kanda
絵心なくても大丈夫。Holoなホラーゲームの提案
絵心なくても大丈夫。Holoなホラーゲームの提案
Akira Hatsune
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
Yu Nobuoka
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
Yahoo!デベロッパーネットワーク
2011年5月28日 Android勉強会プレゼン資料
2011年5月28日 Android勉強会プレゼン資料
Eiichi Yoshikawa
Visual Studio App Centerの始め方
Visual Studio App Centerの始め方
Shinya Nakajima
Can we live in a pure Swift world?
Can we live in a pure Swift world?
toyship
AIR for Android で アプリ内課金
AIR for Android で アプリ内課金
Sadao Tokuyama
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
最近の実装方針について
最近の実装方針について
大介 秋本
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
Tetsuya Shiraishi
Enumerate
Enumerate
Motoki Narita
UIKit Sound
UIKit Sound
cocominap
Contenu connexe
Tendances
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
Nozomi Ito
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
leverages_event
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
Toshiki Iga
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
Leap motion.js
Leap motion.js
Haraguchi Go
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fumiya Sakai
Unity(再)入門
Unity(再)入門
Takayoshi Tanaka
Watch kit解説と実際のtips
Watch kit解説と実際のtips
篤 富田
プログラムで映像をつくるとは?? ~超入門編~
プログラムで映像をつくるとは?? ~超入門編~
Ryo Kanda
絵心なくても大丈夫。Holoなホラーゲームの提案
絵心なくても大丈夫。Holoなホラーゲームの提案
Akira Hatsune
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
Yu Nobuoka
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
Yahoo!デベロッパーネットワーク
2011年5月28日 Android勉強会プレゼン資料
2011年5月28日 Android勉強会プレゼン資料
Eiichi Yoshikawa
Visual Studio App Centerの始め方
Visual Studio App Centerの始め方
Shinya Nakajima
Can we live in a pure Swift world?
Can we live in a pure Swift world?
toyship
AIR for Android で アプリ内課金
AIR for Android で アプリ内課金
Sadao Tokuyama
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
最近の実装方針について
最近の実装方針について
大介 秋本
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
Tetsuya Shiraishi
Tendances
(20)
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
「UI自動テストツールとAI」〜AIを使った自動テストの「今」と「未来」〜
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
もう怖くないモバイルアプリ開発!
もう怖くないモバイルアプリ開発!
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
Leap motion.js
Leap motion.js
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Fundamentals of Swift & Redux (ReduxとSwiftの組み合わせ)
Unity(再)入門
Unity(再)入門
Watch kit解説と実際のtips
Watch kit解説と実際のtips
プログラムで映像をつくるとは?? ~超入門編~
プログラムで映像をつくるとは?? ~超入門編~
絵心なくても大丈夫。Holoなホラーゲームの提案
絵心なくても大丈夫。Holoなホラーゲームの提案
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
2011年5月28日 Android勉強会プレゼン資料
2011年5月28日 Android勉強会プレゼン資料
Visual Studio App Centerの始め方
Visual Studio App Centerの始め方
Can we live in a pure Swift world?
Can we live in a pure Swift world?
AIR for Android で アプリ内課金
AIR for Android で アプリ内課金
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
最近の実装方針について
最近の実装方針について
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
En vedette
Enumerate
Enumerate
Motoki Narita
UIKit Sound
UIKit Sound
cocominap
Enhancements with 3D Touch
Enhancements with 3D Touch
Satoshi Ohki
tvOSでWebSocketを使う
tvOSでWebSocketを使う
Tomoki Hasegawa
Framework code reading
Framework code reading
shinnosuke kugimiya
TestFlightみたいなのを自作する
TestFlightみたいなのを自作する
Tomoki Hasegawa
To learn Interpolator
To learn Interpolator
Mima Yuki
What's new Swift3
What's new Swift3
toyship
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
yoku0825
En vedette
(9)
Enumerate
Enumerate
UIKit Sound
UIKit Sound
Enhancements with 3D Touch
Enhancements with 3D Touch
tvOSでWebSocketを使う
tvOSでWebSocketを使う
Framework code reading
Framework code reading
TestFlightみたいなのを自作する
TestFlightみたいなのを自作する
To learn Interpolator
To learn Interpolator
What's new Swift3
What's new Swift3
MySQL 8.0で憶えておいてほしいこと
MySQL 8.0で憶えておいてほしいこと
Similaire à 3D touch for iOS
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
一法 山崎
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
ta9mar
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
Shinya Tachihara
まずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装について
Fumiya Sakai
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
Akira Iwaya
「Camelog」Android開発秘話
「Camelog」Android開発秘話
Shoya Tsukada
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
invogue
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
Masayuki KaToH
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点から
demuyan
Jenkinsを使おうよ
Jenkinsを使おうよ
Yohei Oda
Pokelabo android web
Pokelabo android web
Shumpei Shiraishi
Ti.trap
Ti.trap
Tsuyoshi Hyuga
Androidが変えたもの
Androidが変えたもの
Yuki Yamakido
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
ak_shio_555
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
feedtailor
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Rei Matsushita
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
受託案件を通じてみたWindows8ストアアプリ
受託案件を通じてみたWindows8ストアアプリ
Ikkai Takeshi
Similaire à 3D touch for iOS
(20)
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
まずはできるところから始める UnitTestとテストができる実装について
まずはできるところから始める UnitTestとテストができる実装について
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
「Camelog」Android開発秘話
「Camelog」Android開発秘話
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点から
Jenkinsを使おうよ
Jenkinsを使おうよ
Pokelabo android web
Pokelabo android web
Ti.trap
Ti.trap
Androidが変えたもの
Androidが変えたもの
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
受託案件を通じてみたWindows8ストアアプリ
受託案件を通じてみたWindows8ストアアプリ
Plus de toyship
Time for Xcode Behavior
Time for Xcode Behavior
toyship
Notifications in iOS10
Notifications in iOS10
toyship
Universal Link
Universal Link
toyship
Swift Protocol and Selector
Swift Protocol and Selector
toyship
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
toyship
My first tvOS
My first tvOS
toyship
Contents blocker on iOS9
Contents blocker on iOS9
toyship
Embedded framework and so on
Embedded framework and so on
toyship
はじめてのWKInterfaceController
はじめてのWKInterfaceController
toyship
App extension for iOS
App extension for iOS
toyship
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
toyship
Xcode bot
Xcode bot
toyship
AVSpeechSynthesizerとロケール
AVSpeechSynthesizerとロケール
toyship
Plus de toyship
(13)
Time for Xcode Behavior
Time for Xcode Behavior
Notifications in iOS10
Notifications in iOS10
Universal Link
Universal Link
Swift Protocol and Selector
Swift Protocol and Selector
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
My first tvOS
My first tvOS
Contents blocker on iOS9
Contents blocker on iOS9
Embedded framework and so on
Embedded framework and so on
はじめてのWKInterfaceController
はじめてのWKInterfaceController
App extension for iOS
App extension for iOS
サーバーからiOSアプリを変更する
サーバーからiOSアプリを変更する
Xcode bot
Xcode bot
AVSpeechSynthesizerとロケール
AVSpeechSynthesizerとロケール
Dernier
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
Dernier
(8)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
3D touch for iOS
1.
3D#touch#for#iOS 2015/09/16 @TachibanaKaoru
2.
自己紹介 渋谷のVOYAGE'GROUPでiOSエンジニア をしています。 Twi$er/Vainglory/:/@TachibanaKaoru Blog/:/h$p://www.toyship.org/
3.
注意 今日の資料はAppleが一般に公開した資料をもとにしています。 なお、この資料の内容サンプルコードや発表資料から類推したも のであり、シミュレーターや実機での動作確認を行っていませ ん。 間違いを含む可能性があります。(実機入手後確認予定。)
4.
What%is%3D%touch? Specifica(on iOS9で導入された感圧機能を使った新しい機能 対応端末はiPhone6S/iPhone6S,plus 一部の機能は9.1からとなりますが、9.0からすでに実装できる機 能がほとんどです。
5.
Pressure&Sensi*vity タッチの圧力を判定してアプリの機能を 拡張できます。 例えばスケッチアプリであれば、圧力に 応じて線を太くしたり、色を濃くしたり する実装をすることもできます。 圧力の感知だけでなく、今タッチしてい るものがスタイラスか指かの判定も可能 です。
6.
Quick&Ac(ons ホーム画面のアプリアイコンを押すこと で、メニューを表示することができるよ うになりました。
7.
Peek$and$Pop 次の画面を出すような画面で、画面遷移 をする前に、次の画面をちらっと見るこ とができる機能。 表示されたチラ見画面にメニューをつけ たりすることもできます。
8.
3D#Touch#の動作確認 なお、現時点では3D#touch関連の機能の動作確認はシミュレー ターではできません。 実際の動作は、対応端末が発売されるまで待ちましょう。
9.
Pressure&Sensi*vity Implementa)on
10.
Pressure&Sensi*vity 基本的には、UITouchクラスに追加されているforce(CGFLoat) 値を使ってアプリの機能に応じて実装します。 また、UITouchのtype(UITouchType)から、touch処理がどこか ら行われているかの情報が取得できます。 enum UITouchType :
Int { case Direct case Indirect case Stylus }
11.
Pressure&Sensi*vity 9.1ではさらにUITouchクラスに下記の要 素などが追加される予定。 +,al/tudeAngle:,CGFloat,{,get,} +,azimuthAngleInView(_,view:,UIView?),+>, CGFloat スタイラスの圧力だけではなく、入力角 度なども取得できるようになりそうで す。
12.
Quick&Ac(ons Implementa)on
13.
Quick&Ac(ons 設定方法は下記の2種類あります。 !"sta&c"quick"ac&ons "!"必ず表示される固定メニュー。 "!"アプリのino.plistで定義 !"dynamic"quick"ac&ons "!"ユーザーの状況などによって内容が変更できるメニュー。 "!"コードで設定
14.
Quick&Ac(ons メニューの表示順 表示数には上限数があり、info.plistに設定された*sta,c*ac,onsが まず表示されます。 (上限数は現時点では明記されていない) sta,c*ac,onsを表示した後に表示数に余裕がある場合には、 dynamic*ac,onsも表示されます。 アプリの初回起動時前には、sta,c*ac,onsしか表示されません。
15.
Quick&Ac(ons Implementa)on dynamic(ac)onsの場合には、 UIApplica)onShortcutItemオブジェクト を作成して、UIApplica)onに登録します 7(localizedTitle 7(localizedSub)tle 7(type 7(icon 7(userInfo
16.
Quick&Ac(ons アイコンについて UIApplica)onShortcutItem3に設定できる アイコンはUIApplica)onShortcutIconと なっており、システムで用意されたアイ コン、自分で用意するアイコン、連絡先 アイコンのうちから選択可能です。 (自分で用意する場合は35x35pointで、 単色のみ使用可能)
17.
Quick&Ac(ons 実装例!(add!dynamic!ac*ons) func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { if let shortcutItems = application.shortcutItems where shortcutItems.isEmpty { let shortcutPlay = UIMutableApplicationShortcutItem( type: "MyApp.MenuType001", localizedTitle: "Play", localizedSubtitle: "with this title", icon: UIApplicationShortcutIcon(type: .Play), userInfo: nil ) application.shortcutItems = [shortcutPlay] } ... }
18.
Quick&Ac(ons 実装例!(add!sta'c!ac'ons) // info.plist <key>UIApplicationShortcutItems</key> <array> <dict> <key>UIApplicationShortcutItemIconType</key> <string>UIApplicationShortcutIconTypeSearch</string> <key>UIApplicationShortcutItemSubtitle</key> <string>shortcutSubtitle1</string> <key>UIApplicationShortcutItemTitle</key> <string>shortcutTitle1</string> <key>UIApplicationShortcutItemType</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER).First</string> <key>UIApplicationShortcutItemUserInfo</key> <dict> <key>firstShorcutKey1</key> <string>firstShortcutKeyValue1</string> </dict> </dict> </array>
19.
Quick&Ac(ons 実装例!(ac%onsがよばれた時) // in AppDelegate func
application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: Bool -> Void) { guard ShortcutIdentifier(fullType: shortcutItem.type) != nil else { return false } guard let shortCutType = shortcutItem.type as String? else { return false } switch (shortCutType) { case "Menu1": // Menu1の処理 case "Menu2": // Menu2の処理 default: } }
20.
Peek$and$Pop Implementa)on
21.
Peek$and$Pop Peek$and$Popの流れ (1)特定のエリアを軽く押す(Peek) (2)Peek画面が表示される(押すのをやめると元の画面に戻る) (3)さらに強く押す(Pop)とPeek画面が大きくなり、目的のview画面 となる
22.
23.
Peek$and$Pop Master'Detail形式のプロジェクトで実装する場合の標準的な流れ (1)$3Dtouchが使えるか確認し、どのviewがpeekの対象になるかを 設定。同時にpeek処理のdelegateを設定。 (2)$ユーザーがPeekジェスチャーに対して、peekの表示対象となる viewControllerの作成と、表示されるサイズ(高さのみ)を指定。 (3)$ユーザーがPopジェスチャーに対して、peekで作成された viewControllerの通常表示処理を行う。
24.
Peek$and$Pop 実装例!(1)!peekのviewを指定して、delegateを設定。 // MasterViewController override func
viewDidLoad() { super.viewDidLoad() if traitCollection.forceTouchCapability == .Available { registerForPreviewingWithDelegate(self, sourceView: myview) } }
25.
Peek$and$Pop 実装例!(2)!Peekジェスチャーの実装 // MasterViewController func previewingContext(previewingContext:
UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { let detailViewController = ...//表示したいviewControllerを生成する //表示するPeek画面の高さを設定する detailViewController.preferredContentSize = CGSize(width: 0.0, height: 50.0) //Peek画面が出る前にBlurしない領域を設定する previewingContext.sourceRect = myview.frame return detailViewController }
26.
Peek$and$Pop 実装例!(3)!Popジェスチャーの実装 // MasterViewController func previewingContext(previewingContext:
UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) { //表示用のviewControllerはpeekの時に生成されているので、それを再利用する showViewController(viewControllerToCommit, sender: self) }
27.
Peek$and$Pop Peek時にAc&onMenuを追加することもで きます。
28.
Peek$and$Pop 実装例!Ac$onMenuの追加 // DetailViewController override func
previewActionItems() -> [UIPreviewActionItem] { let actionMail = UIPreviewAction(title: "Send mail", style: .Default, handler:{item,viewcon in // send mail }) let actionDelete = UIPreviewAction(title: "Delete mail", style: .Destructive, handler:{item,viewcon in // delete mail }) return [actionMail,actionDelete] }
29.
Peek$and$Pop Implementa)on UIWebViewやMKWebViewでは、リンク 先をPeekする機能がすでに実装されてい ますが、デフォルトではoffになっていま す。 allowsLinkPreviewをtrueにすると使 えるようになります。
30.
まとめ • 3D$touch機能は、まだ実機やシミュレーターでの動作確認はで きませんが、実装は可能です。 • 実装自体はそれほど難しくはないので、是非試してみることを お勧めします。
Télécharger maintenant