ios – UIScrollView自定义分页

前端之家收集整理的这篇文章主要介绍了ios – UIScrollView自定义分页前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题与我正在尝试使用滚动条的自定义形式的分页有关,如果您首先考虑在老虎机中实现的滚动视图的类型,那么这种更容易可视化.

所以说我的UIScrollView的宽度为100像素.假设它包含3个内部视图,每个内部视图的宽度为30像素,因此它们以3像素的宽度分隔开.我想要实现的分页类型是每页都是我的一个视图(30像素),而不是滚动视图的整个宽度.

我知道通常,如果视图占据了滚动视图的整个宽度,并且分页被启用,那么一切都有效.但是,在我的自定义分页中,我也希望看到滚动视图中的周围视图.

我该怎么做?

解决方法

我刚刚做了另一个项目.您需要做的是将UIScrollView放入UIView的自定义实现中.我为这个名为ExtendedHitAreaViewController创建了一个类. ExtendedHitAreaView覆盖hitTest函数以返回其第一个子对象,这将是您的滚动视图.

您的滚动视图应该是您想要的页面大小,即clipToBounds =否为30px.
扩展的命中区域视图应该是要显示的区域的完整大小,其中clipsToBounds = YES.

将滚动视图作为子视图添加到扩展命中区域视图,然后将扩展命中区域视图添加到视图控制器的视图.

@implementation ExtendedHitAreaViewContainer

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    if ([self pointInside:point withEvent:event]) {
        if ([[self subviews] count] > 0) {
            //force return of first child,if exists
            return [[self subviews] objectAtIndex:0];
        } else {
            return self;
        }
    }
    return nil;
}
@end

猜你在找的iOS相关文章