Cocoa touch UITableView未响应setUserInteractionEnabled

Cocoa touch UITableView未响应setUserInteractionEnabled,cocoa-touch,uitableview,Cocoa Touch,Uitableview,这个问题以稍微不同的形式提出,但是这个问题没有在这个线程中解决,因此这个线程 在我的iPad应用程序中,我允许用户在表格视图中选择多个单元格。用户点击按钮后,流程开始,此时不允许用户与表视图交互(请放心,用户仍然可以与应用程序交互) 为了实现这一点,我认为UITableView的“userInteractionEnabled”属性就是答案,但尽管将此属性设置为NO(并检查是否确实设置为NO),用户仍然可以与表视图交互 我还在一个新的Xcode模板项目中尝试了同样的方法,效果很好。我遗漏了一些重要

这个问题以稍微不同的形式提出,但是这个问题没有在这个线程中解决,因此这个线程

在我的iPad应用程序中,我允许用户在表格视图中选择多个单元格。用户点击按钮后,流程开始,此时不允许用户与表视图交互(请放心,用户仍然可以与应用程序交互)

为了实现这一点,我认为UITableView的“userInteractionEnabled”属性就是答案,但尽管将此属性设置为NO(并检查是否确实设置为NO),用户仍然可以与表视图交互


我还在一个新的Xcode模板项目中尝试了同样的方法,效果很好。我遗漏了一些重要的东西吗?

我相信您会看到这一点,因为用户与表格单元格交互,而不是表格本身。开始操作时尝试使用
[[UIApplication sharedApplication]BeginInogringInteractionEvents]
,并在操作完成后适当调用
[[UIApplication sharedApplication]endIgnoringInteractionEvents]

我不确定为什么将属性userInteractionEnabled设置为“否”不起作用,但我找到了一个解决办法,将scrollEnabled设置为NO,并将allowsSelection设置为NO。这会产生类似的效果,模仿我正在寻找的效果。

感谢您的反馈。我在其他地方也读过这篇文章,但这是否会阻止与应用程序的所有交互(这不是我想要的)?此外,我假设如果表视图的userInteractionEnabled设置为NO,那么滚动表视图也将被禁用。事实并非如此。滚动由封装tableview的scroll view启用。这不是为了质疑您的专业知识或开始讨论,而是UITableView是UIScrollView的一个子类。如果userInteractionEnabled设置为NO,那么我认为表视图不应该响应用户的任何输入。如果我在一个新的Xcode模板中测试它,就会发生这种情况,但由于某些原因,我的应用程序中不会发生这种情况。古怪的谢谢你的意见。