UISplitViewControllerで構造化されたiPadプロジェクトがあります。
- RootViewController
- DetailviewController
どちらも、独自のクラス内でGestureRecognizerを使用してタッチを検出しています。
すべてのクラスの上に透明なUIViewを作成して、斜めのスワイプ(左下隅から右上隅まで)のみを検出したいと思います。
したがって、スワイプが検出されたら、関数を起動します。それ以外の場合は何も追加されないため、低レベルのビューでタッチを渡す必要があります。
私はこれらの2つの解決策を試しました:
- この上部の透明なビューにGestureRecognizerを追加しますが、これにより、下位階層のビューへのすべてのタッチが非表示になります(userInteractionが有効になっている場合:もちろんはい)。
他の解決策は、このようにinitを作成することです
-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self setBackgroundColor:[UIColor colorWithWhite:1 alpha:0.01]];
[self setUserInteractionEnabled:NO];
}
return self;
}
スワイプを検出してみてください
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
ただし、この時点では、すべてのタッチが検出されているわけではありません。
誰かが素晴らしい解決策を持っていますか?