私は私が示している見解を持っています。ビューはUITableViewと同じ画面に表示されます。画面のどこかにタッチしたときにビューを閉じたいのですが、そのタッチがターゲットに到達するのを防ぎたくありません。たとえば、ユーザーがテーブルビューをスクロールしたり、セルなどを選択したりした場合、ビューを閉じることができるように知りたいのですが、ユーザーが触れていたものはすべて通常どおりに反応するようにします。どんな助けでも素晴らしいでしょう。
3 に答える
1
それが役に立てば幸い:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView: touch.view];
if(CGRectContainsPoint(tableView.frame, location) || CGRectContainsPoint(anyOtherObject.frame, location))
{
[self performAction];
}
[self.view removeFromSuperView];
}
于 2012-04-05T12:35:10.390 に答える
1
hitTest:withEvent:
そのUIViewのクラスにメソッドを実装します。タッチの位置を確認してください。ビューのフレームに含まれていない場合は、ビューを閉じます。
于 2012-04-05T12:31:58.287 に答える
0
UIPopoverまたはUIActionSheetを使用すると、ほぼ正確にこの動作を示します。これは、UIViewに埋め込まれたUITableViewとUITableViewで行いました。
于 2012-04-05T12:32:23.493 に答える