在 UITableViewCell 内水平滚动 UIScrollView
Posted
技术标签:
【中文标题】在 UITableViewCell 内水平滚动 UIScrollView【英文标题】:Scroll horizontally UIScrollView inside UITableViewCell 【发布时间】:2014-03-21 07:27:57 【问题描述】:我知道这个问题并不新鲜,而且这个网站上有很多类似的问题。我已经检查了其中的大多数,但找不到答案。
我有一个 UITableView。在每个 UITableViewCell 中,我插入了一些子视图(同一级别)。子视图之一是 UIScrollView,我用它来添加一些 UIIMageView 以水平滚动。 ScrollView 是底部子视图(其他子视图在此 ScrollView 上方)。我做了一个测试项目并推送到 GitHub:https://github.com/lenhhoxung86/PageControlDemo。
该项目工作文件,我注意到委托方法: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
没有被调用,但它很好。
但是,当我将此代码移到我的实际项目中时,它不起作用,并且实际上调用了 tableview (didselectRowAtIndexPath) 的委托方法。
谁能帮我解决这个问题?我要为这个问题发疯。以下是在我的测试项目中捕获的图片
【问题讨论】:
【参考方案1】:终于找到了原因。在我的测试项目中,我使用了在创建 UITableViewCell 的自定义类时创建的 Xib 文件。默认情况下,视图对象是一种 UITableViewCell 类。在我的真实项目中,我首先创建了自定义类 UITableViewCell,然后创建了许多 Xib 文件,以便我可以在需要时加载它们。默认情况下,这些 Xib 文件中的这些 View 对象是一种 UIView。我重新创建了默认属于 UITableView 类的 Xib 文件,然后它就可以工作了。我不知道如何将现有的具有 UIView 类型对象的 Xib 文件转换为 UITableView。
【讨论】:
以上是关于在 UITableViewCell 内水平滚动 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章
带有 UICollectionviewcell 和 UITableviewcell 的 UITableview
使用 Interface Builder 和尽可能少的代码创建具有水平滚动的自定义 UITableViewCell
如何在 UItableViewCell 内制作可滚动的 UITextField?