2010-12-03 6 views
2

まだタッチの形状を検出することができますか?たぶん生のタッチスクリーンデータを取得することによって? iphone touch shape or raw data

は、私がここにこの質問/答えが見つかりました: How to get raw touchscreen data?

GSEventに言及したが、それはかなり古いです。

私は、その形状/面積によってタッチの圧力の大まかな計算を試みたいと思いますが、もちろんUITouchは計算された点しか与えません。

答えて

3

はい、生のタッチデータは、特にあなたが探していることはタップに大きなradiousを与えるGSPathInfopathMajorRadius財産であり、GSEventRecordオブジェクトに含まれています。これは圧力の大まかな見積もりですが、大小の指を考慮に入れて、さまざまな対策もしています。

pathPressureにも注意してください。圧力はありません。それには常に1が含まれており、容量性スクリーン(iPadやiPhoneのような)は圧力を全く測定しません。

アプリストアでアプリを送信する予定がある場合は、プライベートフレームワーク(この場合はGraphicServicesフレームワークのGSEvent.hのように)にアクセスすることはできません。しかし、何をする必要があなたのサブクラスUIApplicationsendEvent方法ですべてのUIEventをキャッチし、GSEventの情報を取得するために https://github.com/kennytm/iphone-private-frameworks/blob/master/GraphicsServices/GSEvent.h でメソッドを使用しています。

+0

"圧力がかからない" - GarageBandはどのように機能しますか? –

+1

圧力を計算するにはいくつかの方法がありますが、おおよその値は近似値です。 1つは、異なるタップモーメントまたは「長いタップ」(例:「合法」)での加速度計の値です。別のものは、私的枠組みがあり、したがって「違法」であるタップの荒さです。 GarageBandがプライベートAPIを使用していれば、アップルストアでは受け入れられません。 –

+1

Lol、なぜAppleが「私的な」フレームワークを使っていても、AppStoreに自分のアプリを認めないのはなぜですか? –