91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UIScrollView pagingEnabled自定義翻頁寬度

發布時間:2020-07-18 20:41:43 來源:網絡 閱讀:5670 作者:森林的守護 欄目:開發技術

PagingEnabled只能翻過整頁,下面幾個簡單的設置即可實現

技術點:

1. 創建一個繼承UIView的視圖,并設置clipsToBounds= YES

2. 添加一個UIscrollView控件,將其寬度設置為自定義翻頁的寬度

3. 設置UIScrollview 的clipsToBounds= NO

4. 確保本View的寬度大于UIScrollView的寬度用于顯示預覽內容

5. 重寫本View的hittest方法,為了確保用戶滑動UIscrollview以外的空間時也可以觸發UIscrollview滑動


ok! 下面是代碼,為了方便,使用圖片作為顯示的每一頁



#define kLJItemWidth 240


@implementation MyScrollview    {


    UIScrollView *scrollview;

}


- (id)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];

    if (self) {

          scrollview = ({

              UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(40, 0, kLJItemWidth, frame.size.height)];

              scroll.pagingEnabled = YES;

              scroll.clipsToBounds = NO;

              scroll;

          })                                                                                      ;


        [self addSubview:scrollview];

                            self.clipsToBounds = YES;

    }


    return self;

}


-(void)loadImages:(NSArray *)array{

    int index = 0;

    [scrollview.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];


    for(NSString * name in array){

        UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage p_w_picpathNamed:name]];

        iv.contentMode = UIViewContentModeScaleToFill;

        CGRect fra = iv.frame;

        fra.size.width = kLJItemWidth;

        fra.origin.x = index * kLJItemWidth;

        iv.frame = fra;


        [scrollview addSubview:iv];

        index++;

    }

    scrollview.contentSize = CGSizeMake(scrollview.frame.size.width*index, scrollview.frame.size.height);

}


- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

{

    UIView *view = [super hitTest:point withEvent:event];

    if ([view isEqual:self])

    {

        for (UIView *subview in scrollview.subviews)

        {

            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;

}


@end


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清徐县| 松潘县| 嫩江县| 建阳市| 浠水县| 清河县| 新兴县| 肇东市| 太白县| 三门县| 呼图壁县| 社旗县| 堆龙德庆县| 甘洛县| 阿勒泰市| 来安县| 万盛区| 青河县| 桦甸市| 镇平县| 思南县| 金川县| 定日县| 南部县| 华蓥市| 开封市| 南康市| 昔阳县| 长治市| 贵定县| 茂名市| 深州市| 江安县| 莲花县| 日照市| 拉孜县| 佛冈县| 运城市| 白朗县| 清水河县| 涡阳县|