iphone开发中关于UIScrollView响应touche事件

UIScrollView不能响应touch事件,而我们在开发中,往往由于keyboard的上移,遮住输入框,所以相应的对UIScrollView的content移动。具体效果参考ios qq的新版登录界面。为了用户手指点击UIScrollView,收回键盘,需要对UIScrollView添加touch事件的相应。具体最发很多种,最简单的做法,添加一个UIScrollView的category,声明touche的方法,在controller中设置UIScrollView的UIScrollViewDelegate,实现category定义方法。具体代码如下:

@implementation UIScrollView (UITouch)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if(!self.dragging){
        [[self nextResponder] touchesBegan:touches withEvent:event];
    }
    
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    if(!self.dragging){
        [[self nextResponder] touchesMoved:touches withEvent:event];
    }

}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    if(!self.dragging){
        [[self nextResponder] touchesEnded:touches withEvent:event];
    }
}
@end

在controller中引入

#import "UIScrollView+UITouch.h",并设置UIScrollView的delegate为controller

在controller重写category中的方法即可让scrollview响应touch事件。




你可能感兴趣的:(iphone开发中关于UIScrollView响应touche事件)