检查UITableViewCell是否完全可见以进行自动播放

时间:2017-03-16 12:20:15

标签: ios objective-c swift uitableview uikit

我正在构建一个包含帖子的社交媒体应用。当帖子在屏幕上完全可见时,需要开始将指定的音轨播放到帖子。这是我现在的布局。

Current layout, 2 items visible

这是我想到的一段代码,但它只适用于时间轴中的第一篇文章。

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    
    let visibleCell = tableView.visibleCells.first as! HomeControllerTableViewCell
    
    
    let firstCellVisibleIndexPath = tableView.indexPathsForVisibleRows?.first
  
    
    if tableView.bounds.contains(tableView.rectForRow(at: firstCellVisibleIndexPath!)){
      let fullyVisibleCell = tableView.cellForRow(at: firstCellVisibleIndexPath!) as! HomeControllerTableViewCell
      
      print(fullyVisibleCell.authorNameLabel.text)
      
    }
    
  }

请帮我弄清楚如何确定哪个细胞完全可见。

2 个答案:

答案 0 :(得分:1)

这就是我在确定哪个单元格在布局上完全可见时的结果



request()->get('name')




答案 1 :(得分:0)

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let location = scrollView.panGestureRecognizer.location(in: tablePostView)
    guard let indexPath = tablePostView.indexPathForRow(at: location) else {
        print("could not specify an indexpath")
        return
    }

    print("will begin dragging at row \(indexPath.row)")
    let cellRect = tablePostView.rectForRow(at: indexPath)
    let completelyVisible = tablePostView.bounds.contains(cellRect)
    print(completelyVisible)}