ios - 在 tableview 之外的触摸上隐藏 UITableView

标签 ios iphone uitableview uiview

我有一个小的 UITableView,它在加载 View 时隐藏。当我点击“SHOWUIButton 时,UITableViewmyTableView.hidden=NO;

我想在用户触摸其框架外时隐藏 UITableView。谢谢你的帮助!

最佳答案

最佳方法

简单。在显示 UITable View 之前再添加一个灰色/透明 View ,然后在其上添加点击手势识别器以将其隐藏。就是这样。

  1. 首先显示叠加 View - alpha 将为 0.5f,背景颜色应为清晰颜色。

  2. 显示表格 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/

相关文章:

ios - 除了 prepareForSegue :? 之外,在哪里设置 transitioningDelegate

iphone - 摆脱可恶的状态栏并不像在 iOS 7 上看起来那么容易

iphone - 单击 map 注释时显示另一个 View

ios - UITableview 以编程方式设置多选

iOS:如何防止调整大小后的 View 自行重置?

ios - RestKit 响应无法反序列化为对象

android - 无法制作圆形头像

Javafx 在对象更改时更新 TableView

iphone - 如何在iphone上缓存xml数据

iphone - 使用字典数组中的数据填充 Tapku 日历