IOS UI 滚动视图 UIScrollView

UIScrollView 常用属性

scrollView.maximumZoomScale= 2.0; //  缩放最大比例

scrollView.minimumZoomScale = 0.2;// 缩放最小比例

scrollView.contentSize= self.view.frame.size +10;// 设置内容大小

scrollView.pagingEnabled=YES;    // 允许分页 默认NO

scrollView.scrollEnabled=YES;    // 允许滚动  默认YES

scrollView.bounces =NO;                 // 不允许使用弹簧效果 ,去掉上下弹簧效果就设置这个  默认YES

UIScrollView 常用方法

 - (void)scrollViewDidScroll:(UIScrollView*)scrollView;   //scrollview 滚动每个偏移位就调用

 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;    //scrollview 开始拖拽就调用

 -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate     //scrollview 结束拖拽的时候调用


UIScrollView无法滚动

检查

1.没有设置contentSize 

2.没有取消storyboard的autolayout


UIScrollView 各种效果

 1.穿透效果+拖动图片显示内容

    //要能够让ScrollView进行拖动、滚动效果 首先要设置其内容大小

    // scrollView内容大小=当前imageView可见大小 

    // frame取的大小是基于父控件的大小所以这个效果必须要让imageView的宽高大于view的宽高才有效果

    self.scrollView.contentSize =self.imageView.frame.size;   //  设置完这个后就可以进行滚动ScrollView、拖动图片了 

   //  contentInset实现 穿透效果 主要就是用内容插入上面插入 64左边不插入底部插入 44右边不插入 也就是增加ContentSize 能够滚动的大小

    self.scrollView.contentInset = UIEdgeInsetsMake(64, 0, 44,0);

    // ConntentOffset相对frame.y向上偏移    也就是当前滚轴左上角那个点

    self.scrollView.contentOffset =CGPointMake(0, -64);


2.翻页效果

    

    self.scrollView.delegate =self;

    for(int i =0;i<3;i++)

    {

          UIView *view = [[UIViewalloc]init];    

        //主要是设置第iviewx坐标

         view.frame =CGRectMake(i*[UIScreenmainScreen].bounds.size.width , 0,self.view.frame.size.width,self.view.frame.size.height);

        int red =arc4random();//随机颜色

        int green =arc4random();

        int blue =arc4random();

        view.backgroundColor= [UIColorcolorWithRed:red/230.0green:green/150.0blue:blue/30.0 alpha:1];       

        [self.scrollViewaddSubview:view];

    }

    // 设置scrollview内容大小

    self.scrollView.contentSize =CGSizeMake(3*(self.view.frame.size.width),self.view.frame.size.height);

原文地址:https://www.cnblogs.com/ejllen/p/3766049.html