我正在尝试创建像iOS 10音乐应用这样的用户界面,UITableView
和UICollectionView
合并在一个视图中,用户可以滚动它:
我这样做是因为我添加了一个滚动视图,然后添加了表视图和集合视图,但它并不适用于所有设备!例如,在iPhone 7 Plus中,UITableView的滚动会中断UIScrollView。这样做的正确方法是什么? 感谢
答案 0 :(得分:1)
我很久以前就遇到过这个问题。
我最终使用了两个容器视图,每个视图都带有一个“embed segue”到另一个2 VC。 所有内容都显示在同一视图中,尽管您可以从中获得良好的解耦(将视图控件中的表和另一个中的集合放在一起)。
在mainVC中实施prepare:for segue
,您可以在其中注入集合或表格中所需的数据。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let identifier = segue.identifier else { return }
switch identifier {
case "calendarVC":
if let calendarVC = segue.destination as? CalendarVC {
calendarVC.dataProvider = dataProvider
self.calendarVC = calendarVC
}
case "eventsVC":
if let eventsVC = segue.destination as? EventsVC {
self.eventsVC = eventsVC
eventsVC.dataProvider = dataProvider
}
default: break
}
}
你可以看到我在一个屏幕上拥有所有内容:
答案 1 :(得分:0)
@ Mc.Lover U可以使用UITableview作为基本视图,然后为Library选择一个tableview单元格,为最近添加的项目使用一个集合视图单元格。 现在在cellForRoAatIndexPath中为第0部分加载第一个tableview单元格,为第1部分加载第二个集合视图单元格。