Suche senden
Hochladen
Cocoa勉強会#37-シェイクイベントの実装
•
0 gefällt mir
•
532 views
Masayuki Nii
Folgen
Cocoa勉強会#37 2009/10/24 シェイクイベントの実装 新居雅行
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 12
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
shinyaa31
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
トップエスイー勉強会2014第1回-INTER-Mediator
トップエスイー勉強会2014第1回-INTER-Mediator
Masayuki Nii
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Masayuki Nii
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Masayuki Nii
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Masayuki Nii
Cocoa勉強会#23-カスタムシートとModality
Cocoa勉強会#23-カスタムシートとModality
Masayuki Nii
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使う
Masayuki Nii
Empfohlen
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
shinyaa31
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Framework Enabling End-Users to Maintain Web Applications (ICICWS2015)
Masayuki Nii
トップエスイー勉強会2014第1回-INTER-Mediator
トップエスイー勉強会2014第1回-INTER-Mediator
Masayuki Nii
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Cocoa勉強会#62-新しい通信クラス群NSURLSessionを使ってみる
Masayuki Nii
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Cocoa勉強会#34-iPhoneでタブバーを非表示に無理矢理する方法
Masayuki Nii
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Cocoa勉強会#61-メインスレッド外でNSURLConnection
Masayuki Nii
Cocoa勉強会#23-カスタムシートとModality
Cocoa勉強会#23-カスタムシートとModality
Masayuki Nii
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使う
Masayuki Nii
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
Masayuki Nii
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Masayuki Nii
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Masayuki Nii
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Masayuki Nii
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Masayuki Nii
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会#27-QuickLookプラグインの作り方
Masayuki Nii
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Masayuki Nii
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Masayuki Nii
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Masayuki Nii
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Masayuki Nii
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Masayuki Nii
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使う
Masayuki Nii
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Masayuki Nii
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイ
Masayuki Nii
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Masayuki Nii
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
Weitere ähnliche Inhalte
Mehr von Masayuki Nii
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Masayuki Nii
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
Masayuki Nii
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Masayuki Nii
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Masayuki Nii
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Masayuki Nii
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Masayuki Nii
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Masayuki Nii
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会#27-QuickLookプラグインの作り方
Masayuki Nii
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Masayuki Nii
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Masayuki Nii
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Masayuki Nii
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Masayuki Nii
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Masayuki Nii
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使う
Masayuki Nii
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Masayuki Nii
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイ
Masayuki Nii
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Masayuki Nii
Mehr von Masayuki Nii
(17)
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#60-Common Cryptoを使った共通鍵の暗号と復号
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#57-Baseによるローカライズまとめ
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#56-小ネタ集あなたの常識はすでに通用しない
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#45-AWS SimpleDBを使ってみる
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#36-iPhone OS 3.0で変更されたテーブルビュー
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#33-意外に楽に使えるlibcurl
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#28-OpenSSLで暗号化したファイルを復号する
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会#27-QuickLookプラグインの作り方
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会23-識別情報の変換〜文字エンコードとデータタイプ
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#32-表形式のデータに順序を記録する方法
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#35-iPhoneでのコピペとカスタムUI
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#47-NSURLConnectionのデリゲートメソッドと認証
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#38-UITableViewテーブル内のナビゲーション
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#43-Blocksを使う
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Cocoa勉強会#42-UIWebKitをコンポーネントとして使う
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#50-ストーリーボードとセグウェイ
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Cocoa勉強会#63-Xcode Server〜みんなで使ってみる
Kürzlich hochgeladen
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Kürzlich hochgeladen
(8)
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Cocoa勉強会#37-シェイクイベントの実装
1.
シェイクイベントの実装 Cocoa勉強会 関東第37回 新居雅行 nii@msyk.net 1
2.
Agenda シェイクイベントとは何か シェイクイベントの利用方法 デモ 2
3.
シェイクイベントとは iPhone OS 3.0よりサポートされたイベント •
「ジェスチャー」の一種と位置づけている 加速度センサーの情報を認識 • 「強く振った」ことを認識しメソッド呼び出しが行われる • 方向の変更と間違えないようにしている(らしい) 3
4.
シェイクイベントの発生 First Responderしか応答しない • そこからチェーンする デフォルトではFirst
Responderになれないクラスも けっこうある • テキスト系のコンポーネントは編集可能な状態になれば自 動的にFirst Responderになる • UIViewはデフォルトではFirst Responderになれない 4
5.
First Responderになるには? 何もしないでFirst Responderになるオブジェクト •
…そのままでOK オブジェクトを明示的にFirst Responderにする • [obj becomeFirstResponder] First Responderになることができないオブジェクト • 継承したクラスで以下のメソッドを定義 • - (BOOL)canBecomeFirstResponder { return YES; } 5
6.
イベント対応のプラン UIViewなどを継承したオブジェクトを定義する UIViewControllerをFirst Responderにする • -
(void)viewDidAppear:(BOOL)animated { [self becomeFirstResponder]; } 6
7.
イベント応答 First Responderに対して以下のメソッド呼び出しが 行われる - (void)motionBegan:(UIEventSubtype)motion
withEvent:(UIEvent *)event { ! NSLog(@"###motionBegan:"); } - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { ! NSLog(@"###motionEnded:"); } - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { ! NSLog(@"###motionCancelled:"); } 7
8.
認識可能な状態 UIEventSubType • モーションイベントかそうでないか • (きっと将来拡張するのでしょう) UIEvent •
UIEventType:タッチorモーション • UIEventSubType:メソッド引数と同じ • 他に発生時刻、タッチイベントの情報 それ以外の情報 • 加速度センサーの情報をキャッシュして判断 8
9.
イベント応答のタイミング シェイクを始めたら • motionBegan:withEvent: 1秒以内にシェイクをやめたら • motionEnded:withEvent: 1秒以上続けていると •
motionCancelled:withEvent: 9
10.
UndoとRedoのアラート テキストフィールド等のUndo • UIApplicationのapplicationSupportsShakeToEditプロ パティがYESの場合(デフォルトはYES) • イベントがUIApplicationまでチェーンした場合、Undoあ るいはRedoのボタンのついたアラート表示になる 自前のクラスの場合、Undoの実装はやっぱり自前? •
本来のレスポンダチェーンの邪魔をしないようにする 10
11.
Demo 11
12.
Wrap-up 「振った」ことの取得が簡単にできるようになった システムのUndo/Redoと併用しなければ、メソッド の定義のみで比較的簡単に実装できる 12
Jetzt herunterladen