美文网首页
UIScrollView

UIScrollView

作者: 居然是村长 | 来源:发表于2016-04-16 11:41 被阅读121次

    自动布局 masonry

    可以多加一个 contentView,也可以不要。

        [self.view addSubview:self.scrollView];
        [self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.mas_equalTo(self.view);
            make.width.mas_equalTo(self.view);
        }];
        
        UIView *tempView;
        for (NSInteger index = 0; index < 100; index ++) {
            UIView *view = [UIView new];
            view.backgroundColor = [UIColor randomColor];
            [self.scrollView addSubview:view];
            
            [view mas_makeConstraints:^(MASConstraintMaker *make) {
                make.top.mas_equalTo(tempView ? tempView.mas_bottom : self.scrollView);
                make.left.and.right.mas_equalTo(self.scrollView);
                make.width.mas_equalTo(self.scrollView);
                make.height.mas_equalTo(arc4random() % 66);
            }];
            tempView = view;
        }
        
        [tempView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.bottom.mas_equalTo(self.scrollView);
        }];
    

    storyboard

    注:最好在scrollView 上手动添加一个contenView 方便拉约束。

    常用属性

            _scrollView.contentInset = UIEdgeInsetsMake(10, 20, 30, 40);// 内容调整
            _scrollView.pagingEnabled = YES;
            _scrollView.bounces = YES;// 触边弹回
    
    
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {    
    // scrollView.contentOffset
    }
    
    • 其他属性
            _scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;// 键盘管理
            _scrollView.directionalLockEnabled = YES;// 滚动方向锁定  
            _scrollView.decelerationRate = 50;// 手指滑动时,滚动速度
            _scrollView.pagingEnabled = YES;
            _scrollView.scrollEnabled = YES;
            _scrollView.scrollsToTop = YES;// 点击状态栏 滚动到顶部
            
            _scrollView.bounces = YES;// 触边弹回
            _scrollView.alwaysBounceVertical = YES;// 内容 小于时,已然可以弹回
            _scrollView.alwaysBounceHorizontal = YES;
            
            [_scrollView flashScrollIndicators];// 显示指示条,一小会
            _scrollView.showsVerticalScrollIndicator = NO;
            _scrollView.showsHorizontalScrollIndicator = NO;
            _scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(100, 0, 100, 20);
            _scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
            /*
             typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) {
             UIScrollViewIndicatorStyleDefault,     // black with white border. good against any background
             UIScrollViewIndicatorStyleBlack,       // black only. smaller. good against a white background
             UIScrollViewIndicatorStyleWhite        // white only. smaller. good against a black background
             };
             */
    
            _scrollView.minimumZoomScale = 0.2;
            _scrollView.maximumZoomScale = 2.;
            
            [_scrollView.panGestureRecognizer addTarget:self action:@selector(shishi2:)];
            [_scrollView.pinchGestureRecognizer addTarget:self action:@selector(shishi3:)];
    
    
    

    代理

    #pragma mark - delegate
    
    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
        
    }
    
    - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
        
    }
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
        
    }
    
    - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
        
    };
    
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
        
    };
    
    - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
        
    };
    
    - (void)scrollViewDidZoom:(UIScrollView *)scrollView {
        
    }
    
    //- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    //    
    //};
    
    - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view {
        
    }
    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale {
        
    }
    
    - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView {
    
        return YES;
    }
    
    - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView {
        
    }
    

    相关文章

      网友评论

          本文标题:UIScrollView

          本文链接:https://www.haomeiwen.com/subject/vjanlttx.html