あなたは(ユーザーが上に指を置くビュー)タッチがオンに始まったとの見方を知りたい場合は、タッチ項目のいずれかを読み取ることができるのでようNSSet
に返さ:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSInteger viewTag = [[[touches anyObject] view] tag];
//Check your view using the tags you've set...
}
しかし、指が画面を横切って移動しても、このview
プロパティは最初にタッチされたビューのみを返し、現在は指の下のビューは返しません。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
//If all your views are collected as an array
for(UIView *view in views) {
if (CGRectContainsPoint([view frame], point))
{
//Bingo
}
}
}
この上の成功の鍵は、あなたのタッチを取得していることを確認することです。これを行うには、おそらくこのように、現在のタッチの座標を追跡し、それが該当する表示かを決定する必要があります。座標が適切なビューを参照するので、locationInView:
とCGRectContainsPoint()
を、アプリケーションのビュー階層に一致する値と適切に(ビュー、ViewControllerなど)配置してください。
希望すること!
解決に感謝します。 – Satyam