2017-10-10 100 views
0

我试图实现Letgo或Instagram样式的饲料与我所做的类别/故事栏。但是当我滚动文章时,它只是在单元格内滚动而不是整个视图。因此,故事栏直到我到达集合视图的末尾时才停留在那里,然后故事栏滚动,但因为单元格没有足够的单元格而表现不佳。斯威夫特:Instagram的故事和饲料细胞风格

这就是我所实现的单元格。

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.automaticallyAdjustsScrollViewInsets = false 
    self.tableView.dataSource = self 
    self.tableView.delegate = self 
} 

// MARK: - UITableViewDatasourse 

func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return 2 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    switch indexPath.row { 
    case 0: 
     return tableView.dequeueReusableCell(withIdentifier: "categoryCell", for: indexPath) as! CategoryTableViewCell 
    default: 
     return tableView.dequeueReusableCell(withIdentifier: "productCell", for: indexPath) as! ProductTableViewCell 
    } 
} 

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    switch indexPath.row { 
    case 0: 
     return 110 
    default: 
     return tableView.frame.height - 110 
    } 
} 

我有类别栏的高度为110,框架的其余部分为饲料。一切都在一个常规的视图控制器中。如果有更好的方法来处理这个问题,我也可以点击栏与Feed进行交互,我愿意重新编程一切。

结构: 的ViewController

-tableView

-CategoriesCell(高度110)

--CollectionView(HOR)

-PostsCell(如何使视的CollectionView这个动态内容)

--CollectionView(ver)

+0

如果你想Instagram的风格,为什么不使用[IGListKit](https://github.com/Instagram/IGListKit)? – Paulw11

+0

@ Paulw11不,我得到了两种不同的类型加载和一切都不是问题。问题是,当它全部加载和帖子加载,我想滚动通过帖子,它只滚动通过单元格内,所以如果我使单元格高度200或2000它是相同的事情,它不作为一个整体滚动。就像当你滚动故事栏时一样。当我滚动故事栏时,可以看到帖子单元格的结尾。这不是一个单一的滚动,它是两个单独的滚动。 –

回答

0

它不滚动,因为只有2个单元格,如果存在更多的单元格,则表格视图可以滚动。

您将需要更改方法,因为您无法在单元格中添加单元格,而您必须在单元格中添加单元格。例如,对于用于类别的第0个索引单元格,您将不得不添加单元格以显示insta中的数据。

对于类别/故事栏:使用集合视图作为表视图默认情况下没有水平滚动并且集合视图可以更加自定义。

对于提要:您可以使用集合视图或表视图来实现此目的。单元格的数量将是要显示的提要的数量,以便表格视图将滚动,直到有提要数据。

+0

如果我增加第二个单元格的高度(具有postsview的collectionview的单元格),那么我可以滚动,但我希望第二个单元格的高度是动态的,所以我不必滚动UICollectionView视图,而只是作为具有一个小单元格和一个动态设置的高单元格的长表格视图。 –

+0

您可以通过在表视图的索引**委托处使用**高度来动态设置第二个单元格的高度。以集合视图中的行数计算高度*集合视图的每个单元格的高度。 我不确定这是否会起作用,并且是一种错误的使用方法。 使用此结构: - 查看控制器 | >故事顶部的收藏视图 | >表下方的表格视图 – aman

+0

我以前就是这样,但酒吧会留在那里。我希望整个视图作为一个整体滚动。不只是细胞内有什么。 –