我有一个小的 UITableView,它在加载 View 时隐藏。当我点击“SHOW”UIButton 时,UITableView 由 myTableView.hidden=NO;
我想在用户触摸其框架外时隐藏 UITableView。谢谢你的帮助!
最佳答案
最佳方法
简单。在显示 UITable View 之前再添加一个灰色/透明 View ,然后在其上添加点击手势识别器以将其隐藏。就是这样。
首先显示叠加 View - alpha 将为 0.5f,背景颜色应为清晰颜色。
显示表格 View 。
注意:over lay view 应该有点击识别器,它将隐藏 overlay 和 table view
在 View 中加载
UITapGestureRecognizer *tapRecog = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(overlayDidTap:)];
[myOverLayView addGestureRecognizer:tapRecog];
- (void)overlayDidTap:(UITapGestureRecognizer *)gesture
{
//hide both overlay and table view here
}
错误的方法
我们不应该在主视图本身上添加点击识别器。因为它可能有很多 控制它里面。所以当用户点击它时。它将执行其操作。所以要避免 我们可以通过上述方法模拟相同的行为
关于ios - 在 tableview 之外的触摸上隐藏 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22194848/