SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
3D Touchを試す
2015.9.30 関西モバイルアプリ研究会 #6
@itok_twit
@itok_twit
• いとうけい(itok)
• 公私共にプログラマ iOS / Mac(たまに Android や Windows)
• http://itok.jp/
3D Touch
3D Touch
• UITouch
• UIApplicationShortcutItem
• UIViewControllerPreviewing
はじめに
• 3D Touchが使えるか?
• UITraitCollection.forceTouchCapability で確認
• シミュレータでは使えません
UITouch
• force touch具合を直接取得できる
public var force: CGFloat { get }
public var maximumPossibleForce: CGFloat { get }
• touchesMovedが大量に呼ばれるので注意
UIApplicationShortcutItem
UIApplicationShortcutItem
• Info.plistに静的に宣言
→UIApplicationShortcutItems
• UIApplication.shortcutItemsで動的に変更
public class UIApplicationShortcutItem : NSObject {
public init(type: String,
localizedTitle: String,
localizedSubtitle: String?,
icon: UIApplicationShortcutIcon?,
userInfo: [NSObject : AnyObject]?)
}
UIApplicationShortcutItem
• UIApplicationDelegateで受け取る
func application(application: UIApplication,
performActionForShortcutItem shortcutItem:
UIApplicationShortcutItem,
completionHandler: (Bool) -> Void)
UIViewControllerPreviewing
UIViewControllerPreviewing
• Previewingに対応するViewを指定する
extension UIViewController {
public func registerForPreviewingWithDelegate(
delegate: UIViewControllerPreviewingDelegate,
sourceView: UIView) -> UIViewControllerPreviewing
}
UIViewControllerPreviewing
• UIViewControllerPreviewingDelegateを実装
protocol UIViewControllerPreviewingDelegate {
public func previewingContext(
previewingContext: UIViewControllerPreviewing,
viewControllerForLocation location: CGPoint)
-> UIViewController?
public func previewingContext(
previewingContext: UIViewControllerPreviewing,
commitViewController viewControllerToCommit:
UIViewController)
}
UIViewControllerPreviewing
• メニューはUIViewController.previewActionItems()で宣言
class UIPreviewAction : NSObject, UIPreviewActionItem {
public convenience init(
     title: String,
     style: UIPreviewActionStyle,
     handler: (UIPreviewAction, UIViewController) -> Void)
}
class UIPreviewActionGroup : NSObject, UIPreviewActionItem {
public convenience init(
     title: String,
     style: UIPreviewActionStyle,
     actions: [UIPreviewAction])
}
• UIPreviewActionGroupでサブメニューも作れる
3D Touch
• UITouchを使っているコード(UIViewのサブクラ
スなど)は要注意
• UIApplicationShortcutItemは結構使えそう
• UIViewControllerPreviewingもmaster-detail的ナ
ビゲーションでは使えそう

Más contenido relacionado

Similar a 20150930 3D Touchを試す

Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介Fumiya Sakai
 
今のうちに知っておきたい Swiftの高速化 + 3D Touch API
今のうちに知っておきたい Swiftの高速化 + 3D Touch API今のうちに知っておきたい Swiftの高速化 + 3D Touch API
今のうちに知っておきたい Swiftの高速化 + 3D Touch APIMasaki Oshikawa
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)Fumiya Sakai
 
UIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐUIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐYuichi Yoshida
 
UX on HTML5 x Touch UI
UX on HTML5 x Touch UIUX on HTML5 x Touch UI
UX on HTML5 x Touch UIdsuke Takaoka
 
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Takashi EGAWA
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎ken_kitahara
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in FukuokaShinobu Izumi
 
UIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignableUIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignableFukaya Akifumi
 
手作りマルチタッチパネル作成方法まとめ
手作りマルチタッチパネル作成方法まとめ手作りマルチタッチパネル作成方法まとめ
手作りマルチタッチパネル作成方法まとめTsuyoshi Nishimori
 
Css nite(2010.09.23)
Css nite(2010.09.23)Css nite(2010.09.23)
Css nite(2010.09.23)Yoshiki Ushida
 
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践Kazutaka Nakamura
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)泰 増田
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutasakahara
 
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介 デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介 Fumiya Sakai
 
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageViewTitanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView濱田 章吾
 

Similar a 20150930 3D Touchを試す (20)

3 d touchについて
3 d touchについて3 d touchについて
3 d touchについて
 
Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介
 
今のうちに知っておきたい Swiftの高速化 + 3D Touch API
今のうちに知っておきたい Swiftの高速化 + 3D Touch API今のうちに知っておきたい Swiftの高速化 + 3D Touch API
今のうちに知っておきたい Swiftの高速化 + 3D Touch API
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
UIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐUIToolbarの同時タッチを防ぐ
UIToolbarの同時タッチを防ぐ
 
UX on HTML5 x Touch UI
UX on HTML5 x Touch UIUX on HTML5 x Touch UI
UX on HTML5 x Touch UI
 
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
 
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
UIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignableUIViewController in XIB + IBDesignable
UIViewController in XIB + IBDesignable
 
手作りマルチタッチパネル作成方法まとめ
手作りマルチタッチパネル作成方法まとめ手作りマルチタッチパネル作成方法まとめ
手作りマルチタッチパネル作成方法まとめ
 
Css nite(2010.09.23)
Css nite(2010.09.23)Css nite(2010.09.23)
Css nite(2010.09.23)
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践
IoT 時代に資する 「ものグラミング」教育のための 授業開発と実践
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Pyonkeeの皮をはぐ
Pyonkeeの皮をはぐPyonkeeの皮をはぐ
Pyonkeeの皮をはぐ
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layout
 
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介 デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
デザイナーと一緒にコラボして仕上げるアニメーション実装とショーケース紹介
 
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageViewTitanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
 

Más de Kei Ito

20151028 アプリの権利を委譲する
20151028 アプリの権利を委譲する20151028 アプリの権利を委譲する
20151028 アプリの権利を委譲するKei Ito
 
20150826 RealmとHimotoki
20150826 RealmとHimotoki20150826 RealmとHimotoki
20150826 RealmとHimotokiKei Ito
 
20150228 Realm超入門
20150228 Realm超入門20150228 Realm超入門
20150228 Realm超入門Kei Ito
 
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみた
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみたCocoa勉強会関西 #54 Crash Report解析サービスを試してみた
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみたKei Ito
 
Cocoa勉強会関西 #42 iOS5の小ネタ集
Cocoa勉強会関西 #42 iOS5の小ネタ集Cocoa勉強会関西 #42 iOS5の小ネタ集
Cocoa勉強会関西 #42 iOS5の小ネタ集Kei Ito
 
AssetsLibraryについて (iOS5対応版)
AssetsLibraryについて (iOS5対応版)AssetsLibraryについて (iOS5対応版)
AssetsLibraryについて (iOS5対応版)Kei Ito
 
Cocoa勉強会関西#39 AssetsLibraryについて
Cocoa勉強会関西#39 AssetsLibraryについてCocoa勉強会関西#39 AssetsLibraryについて
Cocoa勉強会関西#39 AssetsLibraryについてKei Ito
 

Más de Kei Ito (7)

20151028 アプリの権利を委譲する
20151028 アプリの権利を委譲する20151028 アプリの権利を委譲する
20151028 アプリの権利を委譲する
 
20150826 RealmとHimotoki
20150826 RealmとHimotoki20150826 RealmとHimotoki
20150826 RealmとHimotoki
 
20150228 Realm超入門
20150228 Realm超入門20150228 Realm超入門
20150228 Realm超入門
 
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみた
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみたCocoa勉強会関西 #54 Crash Report解析サービスを試してみた
Cocoa勉強会関西 #54 Crash Report解析サービスを試してみた
 
Cocoa勉強会関西 #42 iOS5の小ネタ集
Cocoa勉強会関西 #42 iOS5の小ネタ集Cocoa勉強会関西 #42 iOS5の小ネタ集
Cocoa勉強会関西 #42 iOS5の小ネタ集
 
AssetsLibraryについて (iOS5対応版)
AssetsLibraryについて (iOS5対応版)AssetsLibraryについて (iOS5対応版)
AssetsLibraryについて (iOS5対応版)
 
Cocoa勉強会関西#39 AssetsLibraryについて
Cocoa勉強会関西#39 AssetsLibraryについてCocoa勉強会関西#39 AssetsLibraryについて
Cocoa勉強会関西#39 AssetsLibraryについて
 

20150930 3D Touchを試す