Ios 检查tableVIew是否位于tableViewFooter

Ios 检查tableVIew是否位于tableViewFooter,ios,uitableview,swift,Ios,Uitableview,Swift,我有一个带有多个表视图的滚动视图。我已经为每个tableView创建了一个tableViewFooter。我想执行一个操作,标签为102的特定tableView是否在底部/是否在tableViewFooter 下面是我要检查的特定tableView: recentTableView = UITableView() recentTableView.tag = 101 recentTableView.backgroundColor = UIColor.whiteColor()

我有一个带有多个表视图的滚动视图。我已经为每个tableView创建了一个tableViewFooter。我想执行一个操作,标签为102的特定tableView是否在底部/是否在tableViewFooter

下面是我要检查的特定tableView:

    recentTableView = UITableView()
    recentTableView.tag = 101
    recentTableView.backgroundColor = UIColor.whiteColor()
    recentTableView.frame = CGRectMake(0, 0, wBounds, hBounds)
    recentTableView.dataSource = self
    recentTableView.delegate = self
    recentTableView.separatorStyle = UITableViewCellSeparatorStyle.None
    recentTableView.registerNib(UINib(nibName: "NewsCell", bundle: nil), forCellReuseIdentifier: "Cell")
    recentTableView.backgroundColor = UIColor(rgba: "#f6f7f9")
    recentTableView.showsHorizontalScrollIndicator = false
    recentTableView.showsVerticalScrollIndicator = false
    self.scrollView.addSubview(recentTableView)
    self.scrollView.bringSubviewToFront(recentTableView)



    recentFooter.frame = CGRectMake(0, 0, self.view.frame.size.width, 40)
    recentFooter.backgroundColor = UIColor(rgba: "#f6f7f9")
    var recentInd: UIActivityIndicatorView = UIActivityIndicatorView()
    recentInd.frame = CGRectMake(self.view.frame.size.width/2-5, 20-5, 10.0, 10.0);
    recentInd.transform = CGAffineTransformMakeScale(0.5, 0.5)
    recentInd.activityIndicatorViewStyle =
        UIActivityIndicatorViewStyle.WhiteLarge
    recentInd.color = UIColor.blackColor()
    recentFooter.addSubview(recentInd)
    recentInd.startAnimating()
    self.recentTableView.tableFooterView = self.recentFooter

您可以使用
tableView(\utableview:UITableView,willDisplayFooterView:UIView,forSection-section:Int)
方法
UITableView委托

或者,您可以使用
UITableView
上的
UIScrollViewDelegate
方法,检查它是否到达
scrollviewdidcoll
方法中的
tableViewFooter

类似的东西应该适合你:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.tag == xxx) { //detect which tableView scrolled
         CGFloat footerViewY = {calculate the Y position of your footer view}
         //don't copy&paste the line below, you should change that line according to your needs
         if (scrollView.contentOffset.y >= footerViewY) {
         //do something
         }
    }
}

如果所有这些看起来太复杂,也许您可以尝试为您的页脚视图创建一个基本UIView类(即:XXBaseFooterView),并重写基类的drawRect方法,当调用drawRect时,这意味着它是可见的。但是我想这种方法非常粗糙而且不可靠。

除了我的答案之外:我认为你应该在scrollViewDidScroll中计算tableFooterView的框架,并检查它是否到达那里。willDisplayFooterView方法适用于节页脚视图,但如果可能,您可以将其设置为节页脚视图。因此,在scrollViewDidScroll中,如果scrollView.tag==101,我可以执行
?它会触发tableView吗