禁用UITableView(iPhone SDK 3.0)中的滚动
我试图在UITableView
embeddedUITextField
编辑UITableView
禁用滚动。 这只是为了防止细胞在编辑时滚动出来(也避免了一些相关的细胞“回收”问题)。 在search时我看到有人提出了明显的:
tableView.scrollEnabled = NO:
甚至
tableView.userInteractionEnabled = NO;
这不工作虽然(至less对我来说… iPhone SDK 3.0,尝试在模拟器上)我将这些属性设置为NO,我甚至通过日志logging检查属性设置为NO,但UITableView保持正常响应触摸事件。 而且它也很高兴地滚动。 如果networking上有人没有声称这真的有效,我不会那么担心。
我错过了什么吗? 或者是唯一的替代子类UITableView使其超类(UIScrollView)可用的function再次工作?
你尝试使用self.tableView.scrollEnabled = NO;
?
我经常试图从网上的代码不起作用,只是因为缺less前缀自我。 我只是试了一下没有问题。
我不知道这个工作时,dynamic打开和closures。 它至less在初始化对象时用于永久设置…
如果你正在使用UITableViewController
,你也有一个tableView
属性,不需要强制转换。 这适用于我:
self.tableView.scrollEnabled = NO;
让我知道这是否适合你。
你尝试故事板取消select滚动启用?
我试过了:
[(UIScrollView*)[self view] setScrollingEnabled:NO];
它的工作([自我观点]是我当前视图控制器的视图,即UITableView)。
事情是,我得到一个警告:
'UIScrollView'可能不会响应'-setScrollingEnabled:'
诚实地说,这个属性是“scrollEnabled”,但是它仍然可以用上面提到的代码工作!
所以,“正确”的做事方式应该是:
[(UIScrollView*)[self view] setScrollEnabled:NO];
为什么它也可以用另一种方式工作,让我感到困惑…
这些答案都没有在我的情况下工作。 虽然每个scrollView被禁用,但表视图保持滚动。
最后,我在这里find了解决scheme,声称UITableViewController
这样做“对我来说”每当键盘隐藏正在编辑的UITextView。
解决scheme是从UIViewController
而不是UITableViewController
inheritance,并自己实现所需的表function。
如果只想滚动其内容不可见,则设置:
yourTableview.alwaysBounceVertical = NO;
在这里,如果你的内容是可见的,那么你的tableview将不会滚动