# 滑动 cell实现以上效果
##话不多说,请看干活!!
1. 实现 tableView 的代理,给自定cell 赋值..做完这一切,开始切换到正题:
在自定义的 tableViewcell 中 定义一个 block
//滚动 block
typedef void (^TableViewCellDidScroll)(CGFloat contentOffsetX);
cell 上要放一个 scrollView ,,cell所有控件都加载到 scrollView 上!
声明滑动 block 属性在 cell 的. h 中
@property (nonatomic, copy ) FootballTableViewCellDidScroll didScroll;
再实现 cell 上实现自定义的 scrollView 的代理
-(void) scrollViewDidScroll:(UIScrollView *)scrollView{
if (_didScroll) {
_didScroll(scrollView.contentOffset.x);
}
}
最后一步:
在 Viewcontroller 中的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
XXCell *xCell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
//关键性的一步
cell 的 block 回调
cell.didScroll = ^(CGFloat contentOffsetX){
__strong __typeof(weakSelf)strongSelf = weakSelf;
NSArray *cells = [strongSelf->_tableView visibleCells];
for (XXCell *cell in cells) {
//控制当前显示的 cell 滑动
cell.collectionView.contentOffset = CGPointMake(contentOffsetX, 0);
}
strongSelf->_collectionView.contentOffset = CGPointMake(contentOffsetX, 0);
if (contentOffsetX == 135) {
//我这里是滑动135, 向右滑动135后进行处理
}else{
//滑动回来处理
}
};
return xCell;
}










网友评论