目前有兩種方法
第一種 通過 Category 擴展 UIScrollView 對象,添加觸摸事件,(不建議,后續擴展不方便)代碼如下
@implementation UIScrollView (ExtendTouch)- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touchesBegan:touches withEvent:event]; [super touchesBegan:touches withEvent:event]; UITouch *touch = [touches anyObject]; CGFloat startx = [touch locationInView:self].x; NSLog(@"%f",startx);}-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touchesMoved:touches withEvent:event]; [super touchesMoved:touches withEvent:event];}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder] touchesEnded:touches withEvent:event]; [super touchesEnded:touches withEvent:event];}第二種 添加手勢 (推薦,易于維護)
//添加點按擊手勢監聽器 UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapUiscrollView:)]; //設置手勢屬性 tapGesture.delegate = self; tapGesture.numberOfTapsRequired=1;//設置點按次數,默認為1,注意在iOS中很少用雙擊操作 tapGesture.numberOfTouchesRequired=1;//點按的手指數 [self.scrllview addGestureRecognizer:tapGesture];
@interface ViewController ()<UIScrollViewDelegate,UIGestureRecognizerDelegate>
新聞熱點
疑難解答