在 Uitableviewcontroller 内创建水平可滚动区域
Posted
技术标签:
【中文标题】在 Uitableviewcontroller 内创建水平可滚动区域【英文标题】:Creating a horizontal scrollable region inside of a Uitableviewcontroller 【发布时间】:2018-05-21 17:46:45 【问题描述】:我正在开发一个 UITableviewController,它的一个单元格内有一个可滚动区域。这个想法是这个区域显示一系列图标,它可以是 1 到 50+ 个图标,以相同的间距连续排列。
可以使用 UICollectionView 吗,还是必须纯粹以编程方式使用水平滚动视图并动态迭代集合中的每个项目、手动创建/添加视图、连接点击侦听器等?也许我可以制作一个这样做的自定义视图,并以某种方式动态插入它?完全不知道该怎么做。
这就是表格的外观。红色矩形是第一个表格单元格中的可滚动区域,可以根据我的集合中的项目数无限延伸。
这个想法是你可以向右滚动,找到你想要的图像,然后点击它们来标记它们。
非常感谢大家的帮助!
【问题讨论】:
当然你可以使用collection view。它没有任何问题 :) 另外,我看到这是带有静态单元格的控制器,您可以在那里嵌入 UICollectionViewController,因此与选择这些图像相关的任何逻辑都将在另一个控制器中,而不是单元格/视图/等。 @MaksymMusienko 谢谢 1)如果我将集合视图设置为集合中只有 1 行和 N 个“列”,它会向右滚动吗? 2) 你觉得这个解决方案有什么问题吗? 3)也许您可以将其写为答案,我会将您标记为正确,以便您获得信用?谢谢! 【参考方案1】:UICollectionView 绝对是你想在这里使用的 :) 另外,我看到您的表格视图控制器具有静态单元格,这意味着您可以嵌入 UICollectionViewController 而不是仅仅在那里查看,因此与选择这些图像相关的任何逻辑都将在另一个控制器中,而不是单元格/视图/等。
UICollectionView 将滚动到右侧,如果您的高度保持不变。
附:检查 awesome article 关于在您的应用中使用子视图控制器的信息。
【讨论】:
以上是关于在 Uitableviewcontroller 内创建水平可滚动区域的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Xcode 中的按钮内从 UITableViewController 更改为 ViewController
在Uitableviewcontroller内创建水平可滚动区域
UIScrollView 内的 UITableViewController 与水平分页
在 UIScrollView 内的 UITableViewController 的 UITableViewCell 右侧看不到控件