问题:自定义的进度条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;
网友评论