自定义的滑动进度条在tableView上滑动时产生卡顿

问题:自定义的进度条CustomProgressView在TaskSubmitViewController上滑动时发生卡顿,原因是在TaskSubmitViewController中水平滑动进度条的时候,可能会上下滚动该控制器上的tableView,所以使进度条产生卡顿。

解决办法:在自定义的进度条CustomProgressView中定义一个全局变量parentView,在TaskSubmitViewController中把全局变量myTableView赋给parentView,然后在CustomProgressView中对parentView进行控制,当进度条滑动时,禁止myTableView滚动;当当进度条滑动时,允许myTableView滚动。

屏幕快照 2016-01-21 下午4.33.49.png
//CustomProgressView.h文件
#import <UIKit/UIKit.h>
@interface CustomProgressView : UIView
//定义一个全局变量,接收传递过来的tableView
@property(nonatomic,strong) UIView *parentView;

@end
//CustomProgressView.m文件
#import "CustomProgressView.h"
#pragma mark - TouchEnevt
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{  
     if([_parentView isKindOfClass:[UITableView class] ]){
        ((UITableView *)_parentView).scrollEnabled =false;
    }
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{   
    if([_parentView isKindOfClass:[UITableView class] ]){
        ((UITableView *)_parentView).scrollEnabled =true;
    }
}
//tableView.m文件
#import "TaskSubmitViewController.h"
@property (weak, nonatomic) IBOutlet UITableView *MyTableView;
@interface TaskSubmitViewController ()<UITableViewDataSource,UITableViewDelegate,UITextViewDelegate>

......
CustomProgressView * customProgressView = [[CustomProgressView alloc]init];
customProgressView.parentView = _MyTableView;         
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容