在滚动视图中滚动表格视图

Posted

技术标签:

【中文标题】在滚动视图中滚动表格视图【英文标题】:scrolling tableview in scrollview 【发布时间】:2013-10-17 17:57:14 【问题描述】:

在我的项目中,我有 UIScrollView,现在我在 scvRegister(scrollview) 中添加了一个 UITableView,如下所示:

autocompleteTableView = [[UITableView alloc] initWithFrame:CGRectMake(50, 80, 220, 120) style:UITableViewStylePlain];
[scvRegister addSubview:autocompleteTableView];

一切似乎都还好,但是,当我触摸 TableView 并滚动它时 -> ScrollView 被移动,TableView 没有任何变化!

我已经阅读了一些关于 hittest 事件的帖子,但是我的界面是 UIViewController,而不是 UIScrollView,所以我无法覆盖它。

@interface RegisterViewController : UIViewController<UINavigationControllerDelegate,UITextFieldDelegate,BSKeyboardControlsDelegate,UIActionSheetDelegate,UITableViewDelegate, UITableViewDataSource>

对此有任何想法! 提前考虑,

【问题讨论】:

UITableView 是 UIScrollView 的子类。事实上,我相信它是自动启用的。 self.tableView.scrollEnabled = YES; tks!但默认情况下,已设置为 YES! 【参考方案1】:

你不应该把一个滚动视图(UITableView 是一个滚动视图的子类)放在另一个滚动视图中。我建议将表格添加到 self.view 并将其适当地放置在滚动视图的顶部。

【讨论】:

我有很多 textField,我会为自动完成文本添加 textField。我不能把它放在上面。我必须修复:[scrollview setSrollEnable:NO]; -> 我的表可能会收到触摸事件... 为什么要把tableview放在scrollview中,因为tableview也是scrollview的一种...【参考方案2】:

它很晚,但有人可能需要。 我通过将内部表格视图 scrollEnabled 设置为 YES 并将 bounces 设置为 NO

来解决它
- (void)keyboardWasShown:(NSNotification *)notification 
    [self.scrollView setScrollEnabled:YES];
    autocompleteTableView.scrollEnabled = YES;
    autocompleteTableView.bounces = NO;
    .......


【讨论】:

以上是关于在滚动视图中滚动表格视图的主要内容,如果未能解决你的问题,请参考以下文章

ios中带有表格视图的嵌套滚动视图

在滚动视图中滚动表格视图

滚动视图不能执行委托,但表格视图可以

视图中的滚动视图和滚动视图中的表格视图;我如何引用它?

滚动视图内不可滚动的表视图

如何在滚动视图中进行多个表格视图