判斷滑動UITableView時气破,屏幕上對應(yīng)顯示的是哪個Cell
OC
- (NSArray*)visibleCells;
//UITableView的方法颖对,這個最直接古劲,返回一個UITableviewcell的數(shù)組。
對于自定制的cell该默,之后的處理可能稍微繁瑣些额嘿。
- (NSArray*)indexPathsForVisibleRows;
//UITableview的又一個方法,這個比較好用了骑科,返回一個NSIndexPath的數(shù)組,可以直接用indexpath.row去調(diào)你的table_related_Array里的數(shù)據(jù)了。比較方便用于自定制的cell构拳。
- (CGRect)rectForRowAtIndexPath:(NSIndexPath*)indexPath;
CGRect cellR = [myTV rectForRowAtIndexPath:indx];
if (myTV.contentOffset.y - cellR.origin.y < myCell.frame.size.height || cellR.origin.y - myTV.contentOffset.y >myTV.size.height) {
//這個時候myCell應(yīng)該是不在myTV的可視區(qū)域了咆爽。
} else {//myCell在可視區(qū)域時,業(yè)務(wù)處理
}
//這個方法可以用在代理回調(diào)較多的設(shè)計中置森。
Swift
//獲取當(dāng)前視圖的所有可見cell
open var visibleCells: [UITableViewCell] { get }
//獲取當(dāng)前視圖中的所有可見cell的IndexPath
//根據(jù)當(dāng)前cell的IndexPath獲取在tableView的坐標,根據(jù)cell的y坐標和
open var indexPathsForVisibleRows: [IndexPath]? { get }
//tableView的偏移量計算
open func rectForRow(at indexPath: IndexPath) -> CGRect