思路
git
自定义一个view,view 里面封装了一个 scrollview,scrollview 的宽度等于你须要的那个滚动子控件宽度。github
scrollview的clipsToBounds = NO; 让里面的内容超出scrollview 的大小spa
自定义view 的clipsToBounds = YES;ip
4.实现get
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {源码
UIView *view = [super hitTest:point withEvent:event];it
if ([view isEqual:self])event
{cli
for (UIView *subview in scrollview.subviews)scroll
{
CGPoint offset = CGPointMake(point.x - scrollview.frame.origin.x + scrollview.contentOffset.x - subview.frame.origin.x,
point.y - scrollview.frame.origin.y + scrollview.contentOffset.y - subview.frame.origin.y);
if ((view = [subview hitTest:offset withEvent:event]))
{
return view;
}
}
return scrollview;
}
return view;
}
源码地址在