IOS UI 滚动视图 UIScrollView

时间:2023-03-09 09:00:34
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、拖动图片了

右边不插入 也就是增加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];

//主要是设置第i个view的x坐标

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);