我有一个我正在展示的观点。该视图与 UITableView 出现在同一屏幕上。当触摸屏幕上的任何位置时,我想关闭视图,但我不想阻止该触摸到达其目标。例如,如果用户去滚动表格视图或选择一个单元格或任何东西 - 我想知道这样我可以关闭视图,但我希望用户触摸的任何东西都能像往常一样做出反应。任何帮助都会很棒。
问问题
463 次
3 回答
1
hitTest:withEvent:
在该 UIView 的类上实现方法。检查触摸的位置。如果您的视图框架不包含它 - 关闭视图。
于 2012-04-05T12:31:58.287 回答
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 回答
0
如果您使用 UIPopover 或 UIActionSheet,它将几乎完全显示此行为。我已经在 UITableView 和嵌入在 UIView 中的 UITableView 上完成了此操作。
于 2012-04-05T12:32:23.493 回答