UIScrollView 内的行选择 UITableView 的问题

Posted

技术标签:

【中文标题】UIScrollView 内的行选择 UITableView 的问题【英文标题】:Issue with row selection UITableView inside UIScrollView 【发布时间】:2013-02-28 04:28:56 【问题描述】:

我有一个具有以下布局的视图控制器:

容器视图 UIScrollView UITableView 作为 UIScrollView 的子视图

我有另一个UITableViewController,其中有几行和一些当行被选中时的方法。现在我想在UIScrollView 中显示这个UITableview。所以我将UITableView 添加为UIScrollView 的子视图。表格在滚动视图中显示得很好,但是当我在滚动视图中点击以选择表格的行时,行被突出显示,但在选择行时不会调用该方法..

    PBDashboardPickupTable *dashtable = [[PBDashboardPickupTable alloc]initWithNibName:@"PBDashboardPickupTable" bundle:nil];
    [self.scrollView addSubview:dashtable.tableView];

我还从 Interface Builder 将滚动视图的 delayContentTouches 设置为 YEScancelContentTouch 设置为 NOuserInteractionEnabled 也设置为 YES... 那为什么当我点击表格视图的行时该方法没有被调用?

【问题讨论】:

【参考方案1】:

Apple 在文档中特别警告不要将UITableView 放在UIScrollView 内:

重要提示:您不应在 UIScrollView 对象中嵌入 UIWebViewUITableView 对象。如果这样做,可能会导致意外行为,因为这两个对象的触摸事件可能会混淆和错误处理。

由于UITableView 继承自UIScrollView,我建议您将所需的任何其他视图添加为tableHeaderViewtableFooterView 或表格中的自定义单元格。

【讨论】:

以上是关于UIScrollView 内的行选择 UITableView 的问题的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 内的 UIScrollView 无法正确显示/隐藏(Xcode iPhone)

Swift 在 UITableViewCell 内的 UICollectionView 的单选/多选模式下进行选择/取消选择

调整 UITableView 高度(嵌入在 UIScrollView 中)

MySQL选择地理位置范围内的行

根据可以具有值或为空的字段选择组内的行

是否有一种直接的方法来选择 jqGrid 中组内的行?