#import "FJViewController.h"动画
@interface FJViewController ()<UIScrollViewDelegate>spa
@end .net
@implementation FJViewController3d
- (void)viewDidAppear:(BOOL)animated{代理
[super viewDidAppear:animated];orm
UIScrollView *scroll = (UIScrollView *)[self.view viewWithTag:101];对象
//动画去更新偏移量图片
[scroll setContentOffset:CGPointMake(1000, 700) animated:YES];ci
}get
- (void)viewDidLoad {
[super viewDidLoad];
//1.建立UIScrollView对象
//建立UIScrollView的时候,系统会自动给UIScrollView
//建立一个子视图,专门负责UIScrollView上内容(UIScrollView子视图)的显示;
//子视图默认坐标(0,0),大小是UIScrollView的大小;
UIScrollView *scrollView = [[UIScrollView alloc]
initWithFrame:self.view.bounds];
//2.显示在界面上
[self.view addSubview:scrollView];
scrollView.tag = 101;
//3.设置背景颜色
scrollView.backgroundColor = [UIColor redColor];
//4.在scrollView上显示一张图片
UIImage *image = [UIImage imageNamed:@"1092.jpg"];
UIImageView *imageView = [[UIImageView alloc]
initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)];
imageView.image = image;
imageView.tag = 100;
[scrollView addSubview:imageView];
//============scrollView核心属性================================
//5.让scrollView滚动起来的前提
//scrollView的内容视图的大小大于scrollView的frame的大小
//内容视图的宽度大于scrollView的宽度,滚动视图能够左右滚动
//内容视图的高度大于scrollView的高度,滚动视图能够上下滚动
//让scrollView滚动起来就是改变内容视图的大小
scrollView.contentSize = CGSizeMake(image.size.width,image.size.height);
//6.设置偏移量
scrollView.contentOffset = CGPointMake(0, 600);
// [scrollView setContentOffset:CGPointMake(500, 500) animated:YES];
//!!!设置代理
scrollView.delegate = self;
//==================其余属性====================
//7.contentInset
//设置content视图到scrollView上左下右的边距;
//默认是(0,0,0,0)
[scrollView setContentInset:UIEdgeInsetsMake(20, 20, 20, 20)];
//8.pagingEnabled是否能够翻页
//每次滚动都是滚动一页;(若是是左右滚动
//就是滚动scrollView的宽度)
//若是上下滚动就是滚动scrollView高度;
scrollView.pagingEnabled = YES;
//9.设置是否能够滚动
[scrollView setScrollEnabled:YES];
//10.设置是否显示滚动条
scrollView.showsVerticalScrollIndicator = YES;
scrollView.showsHorizontalScrollIndicator = NO;
//11.设置滚动条的样式
[scrollView setIndicatorStyle:UIScrollViewIndicatorStyleWhite];
//===============缩放相关====================
//想要对scrollView进行缩放,实质是对添加到
//scrollView内容进行缩放
//1.最小缩放比例(默认是1)
scrollView.minimumZoomScale = 0.5;
//2.最大缩放比例(默认是1)
scrollView.maximumZoomScale = 2;
}
#pragma mark - UIScrollView 的代理
//MARK:缩放相关
//返回值就是须要缩放的对象
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return [scrollView viewWithTag:100];
}
//MARK:滚动相关
//scrollView滚动的时候实时调用这个方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
//通常在这里获取scrollView的偏移量;
CGPoint point = scrollView.contentOffset;
NSLog(@":%@",NSStringFromCGPoint(point));
if (point.y <= 0) {
scrollView.contentOffset = CGPointMake(point.x
, 0);
}
}
//MARK:拖拽
//将要开始滚动的时候调用这个方法
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
NSLog(@"拖拽");
}
//MARK:将要中止拖拽的时候(将要松手的时候)
//参数1:委托
//参数2:中止拖拽的时候x和y方向的加速度
//参数3:滚动中止的时候scrollView的偏移量;(中止滚动的时候的位置信息)
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)
targetContentOffset{
//NSLog(@"%@",);
}
//已经中止拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
NSLog(@"中止拖拽");
}
//将要开始减速
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
NSLog(@"开始减速");
}
//至关于已经中止滚动的方法
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"已经中止滚动~~~~~");
}
//已经中止滚动动画
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
//这个中止是经过[scrollView setContentOffset:animation]产生的动画;
NSLog(@"中止动画");
}
//设置点击状态栏是否能够回到顶部,默认是yes
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView
{
return YES;
}
@end