解決済み - この問題に対する実際の解決策については、Darren の回答をご覧ください。
こんにちは、私の質問を読んでくれてありがとう。
のリリースを検出すると、奇妙な動作が発生しIBAction UIButton
ます。インターフェイス上で手のひらを動かすと、ボタンの押下は検出されますが、リリースは検出されません!
私は一連のコントロールを持っており、それぞれに独自のIBAction UIButton
. 私のボタンがどのように反応して動作するかの例を次に示します。
- (IBAction)up1start:(id)sender
{
if(!buttonIsPressed && deviceIsConnected)
{
NSLog(@"BUTTON UP 1 PRESSED!");
NSString *byteString = @"7E 01";
sendTimer =[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(sendByte:) userInfo:byteString repeats:YES];
buttonIsPressed = true;
}else{
NSLog(@"Cant press two buttons or connection is closed");
}
}
- (IBAction)up1stop:(id)sender
{
NSLog(@"BUTTON UP 1 RELEASED!");
[ self buttonRelease ];
}
次のイベントが添付されていますUIButton up1
- 進行中のトラブルシューティング作業のため、必要以上に多い可能性があります:
- タッチダウン-
up1start
- タッチ ドラッグ 終了-
up1stop
- タッチ ドラッグ アウトサイド-
up1stop
- 内部のタッチアップ-
up1stop
- 外でタッチアップ-
up1stop
これらのイベントのいずれも「up1stop」アクションがトリガーされない理由について、私は少し困惑しています。繰り返しますが、この問題は、手のひらをインターフェイスに押し付けて離すか、少し動かすことで再現できます。記録のために、各ボタンのExclusiveTouch を有効にしました。
他のすべては完全に機能しており、この動作が発生するようにする必要がありますが、アプリの性質を考えると、これが解決されない場合、ユーザーにとって非常に危険です.
画面を「パーム」したときにボタンリリースが検出されない理由を誰か説明できますか?
乾杯!