IOS开发 滚动视图高级功能

本节学习内容:

1.滚动视图的高级属性

2.滚动视图的协义函数

3.滚动视图的高级使用


【ViewController.h】

#import<UIKit/UIKit.h>

//UIScrollViewDelegate当前视图控件器要实现协义UIScrollView的协义函数

@interface ViewController:UIViewController(UIScrollViewDelegate){

//定义一个滚动视图成员变量

UIScrollView* _scrollview;

}

@end


【ViewController.m】

#import“ViewController.h";

@interfacViewController()

@end

@implementation ViewController

-(void)viewDidLoad{

[super viewDidLoad];

//创建滚动视图

_scrollview=[[UIScrollView alloc]init];

//设定视图位置

_scrollview.frame=CGRectMake(10,50,300,400);

//取消弹动效果

_scrollview.bounces=NO;

//是否允许通过点击屏幕让滚动视图响应事件,YES:滚动视图可以接受触屏事件,NO:不接爱触屏事件

_scrollview.userInterfactionEnabled=NO;

//设置画布大小,纵向效果

_scrollview.contenSize=CGSizeMake(300,400*9);

for(int i=0;i<9;i++){

//17_%d.jps表示图片名称以17_开头且名称为数字的图片

//生成图片名称

NSString* strName=[NSString stringWithFormat:@"17_%d.jpg",i+1];

UIImage* image=[UIImage imageNamed:strName];

//创建图像视图

UIImageView* iView=[[UIImageView alloc]init];

//图像赋值

iView.image=image;

//设置图像在滚动视图画布中的位置

iView.frame=CGRectMake(0,400+i,300,400);

[_scorllView addSubview:iView];

}

[self.view addSubview:_scrollView];

//取消按页滚动效果

_scorllView.pagingEnabled=NO;

//滚动视图画布的移动位置,偏移位置,决定画布显示的最终图像结果

_scorllView.contentOffset=CGPointMake(0,0);

//将当前视图控件器做为代理对像

_scorllView.delegate=self;

}

//当滚动视图移动时,只要offset坐标发生变化,都会调用此函数

//参数:调用此协义的滚动视图对象

//可以使用些函数来监控滚动视图对象

-(void)scrollviewDidScroll:(UIScrollView*)scrollview{

//打印Y坐标位置

NSLog(@"Y= %f",_scorllView.contentOffset.y);

}

//当滚动视图结束拖动时调用此函数

-(void)scrollviewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

NSLog(@"Did End Drag!");

}

//滚动视图即将开始被拖动时调用

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

NSLog(@"willBegingDrag!");

}

//视图即将结束拖动时调用

-(void)scrolViewWillEndDragging:(UIScrollView *)scrollview withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{

NSLog(@"will End Drag!");

}

//视图即将减速时调用

-(void)scrollViewWillBeginDecelerating:(UIScrollview *)scrollview{

NSLog(@"Will Begin Decelerating!");

}

//视图已经结束减速时调用,视图停止的瞬间调用

-(void)scrollviewDidEndDecelerating:(UIScrollView *)scrollView{

NSLog(@"Did End Decelerating!");

//点击屏幕空白处将画布调整到指定位置

-(void)touchesBegan:(NSSet<UITouch*>*)touches withEvent:(UIEvent *)event{

//-scrollview.contentoffset=CGPointMake(0,0);

//让滚动视图移动到指定位置,动画移动,animated:YES表示有动画,NO表示没有动画

[-scrollview scrollRectToVisible:CGRectMake(0,0,300,400) animated:YES)];


}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 5,481评论 2 4
  • 高陽臨唐苑,林密繁佳蔭。踏船凌浪微,垂綸釣紅鱗。 長安椿翠厚雲輕,獨臥南街無人識。 昔日挖坑今封頂,問諸電梯先不急...
    灵魂刀手阅读 1,332评论 0 1