はあるのでしょうがないって言うことでできたらいいのにどれだけハードの画面が生成される
質問
からの圧力により、タッチします。だかわからずに達成するための結果と脱獄での原タッチデータです。なんだろうけど、日本人かいるのか?
解決
を取得できない圧力をかけるSDK も 非正規滞在の方法。しかしき ができ を検出するサイズの非正規滞在の方法。
のGSEvent、低レベルの表現のUIEventがと呼ばれる構造として GSPathInfo 会員:
typedef struct GSPathInfo {
unsigned char pathIndex; // 0x0 = 0x5C
unsigned char pathIdentity; // 0x1 = 0x5D
unsigned char pathProximity; // 0x2 = 0x5E
CGFloat pathPressure; // 0x4 = 0x60
CGFloat pathMajorRadius; // 0x8 = 0x64
CGPoint pathLocation; // 0xC = 0x68
GSWindowRef pathWindow; // 0x14 = 0x70
} GSPathInfo;
して通知があること pathPressure
や pathMajorRadius
.まし圧力は無駄で 常に を0になります。しかし pathMajorRadius
こうすることの有意義な情報を与えているので大半径のタッチをミリ単位.すで非常に粗い推定がで重をタッチのラットからの半径.
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
GSEventRef gsevent = [event _gsEvent];
GSPathInfo first_touch = GSEventGetPathInfoAtIndex(gsevent, 0);
if (first_touch.pathMajorRadius >= 9)
NSLog(@"huge (heavy) touch");
else
NSLog(@"little (light) touch");
}
私に警告するよう繰り返しますが、これは 非正規滞在 ご利用するべきではありませんので、AppStoreアプリとなります。
編集:上3.2以上の pathMajorRadius
のGSPathInfoもご利用いただけます。 非正規滞在 物件UITouch:
@property(assign, nonatomic, setter=_setPathMajorRadius:) CGFloat _pathMajorRadius;
で上記のコードが書き換えられ純Objective-C:
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch* any_touch = [touches anyObject];
if (any_touch._pathMajorRadius >= 9)
NSLog(@"huge (heavy) touch");
else
NSLog(@"little (light) touch");
}
他のヒント
のiOS 8.0のは、<のhref = "https://developer.apple.com/library/prerelease/iOS/documentation/UIKit/Reference/UITouch_Class/index.html#//apple_ref/occ/instp/UITouch / majorRadius "> UITouch
のあなたのタッチのおおよそのサイズを伝える公共majorRadius
プロパティを持っています。
のiOS 3.2と4.0では、あなたは、このように多くの値を直接取得することができます:
UITouch* touch = ...// get the touch object
float radius = [[touch valueForKey:@"pathMajorRadius"] floatValue];
まだApp Storeは承認されたが、カスタムのもののために便利ではない。
これは、SDKとはできません。それはとにかく、そのデータを公開していません。そして、画面にはないセンス圧を行い、そしてそれもOSにタッチ「サイズ」を報告天気を不明です。だから、悲しいことに、何をやろうとしていることは合法的なアプリケーションでは不可能である。
私は同じことを尋ねたので、私が知っている:缶iPhoneのタッチの大きさを検出ですか