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
设置为 YES
和 cancelContentTouch
设置为 NO
。 userInteractionEnabled
也设置为 YES
... 那为什么当我点击表格视图的行时该方法没有被调用?
【问题讨论】:
【参考方案1】:Apple 在文档中特别警告不要将UITableView
放在UIScrollView
内:
重要提示:您不应在
UIScrollView
对象中嵌入UIWebView
或UITableView
对象。如果这样做,可能会导致意外行为,因为这两个对象的触摸事件可能会混淆和错误处理。
由于UITableView
继承自UIScrollView
,我建议您将所需的任何其他视图添加为tableHeaderView
、tableFooterView
或表格中的自定义单元格。
【讨论】:
以上是关于UIScrollView 内的行选择 UITableView 的问题的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 内的 UIScrollView 无法正确显示/隐藏(Xcode iPhone)
Swift 在 UITableViewCell 内的 UICollectionView 的单选/多选模式下进行选择/取消选择