iOS编程如何判cell是否显示在界面上

判断滑动UITableView时,屏幕上对应显示的是哪个Cell
OC
- (NSArray*)visibleCells;
//UITableView的方法,这个最直接,返回一个UITableviewcell的数组。
对于自定制的cell,之后的处理可能稍微繁琐些。

- (NSArray*)indexPathsForVisibleRows;
//UITableview的又一个方法,这个比较好用了,返回一个NSIndexPath的数组,可以直接用indexpath.row去调你的table_related_Array里的数据了。比较方便用于自定制的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应该是不在myTV的可视区域了。
} else {//myCell在可视区域时,业务处理
}
//这个方法可以用在代理回调较多的设计中。
Swift
//获取当前视图的所有可见cell
open var visibleCells: [UITableViewCell] { get }
//获取当前视图中的所有可见cell的IndexPath

//根据当前cell的IndexPath获取在tableView的坐标,根据cell的y坐标和
open var indexPathsForVisibleRows: [IndexPath]? { get }

//tableView的偏移量计算
open func rectForRow(at indexPath: IndexPath) -> CGRect
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容