聚合数据UIScrollView 是可以滚动的 view ,
UIView 本⾝身不能滚动,子类 UIScrollview 拓展了滚动⽅方⾯面的功能 。 UIScrollView 是所有滚动视图的基类 。
以后的 UITableView , UITextView 等视图都是继承于该类。
使⽤用场景:显⽰示不下(单张⼤大图);内容太多(图⽂文混排);滚动 头条(图⽚片); 相册等
UIScrollview
主要专⻓于两个⽅面:
滚动:contentSize⼤于frame.size的时候,能够滚动。
缩放:⾃带缩放,可以指定缩放倍数。
测试代码::
@interface RootViewController ()<UIScrollViewDelegate>
@property (nonatomic,retain)UIScrollView *scrollView;
@property (nonatomic,retain)UIImageView *Pic;
@end
@implementation RootViewController
-(void)dealloc
{
self.scrollView = nil;
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
//布局ScrollView
[self layoutScrollView];
[self layoutImageView];
}
-(void)layoutScrollView
{
//UIScrollView 是UI中可以滑动的视图 其实他是UIview的子类 只不过扩充了滑动方面的功能.
//今后学习的可以滑动的视图 比如UITableView UITextView 都是继承他
//创建对象
self.scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 375, 667)];
//配置属性
#pragma mark -- 滚动属性
_scrollView.backgroundColor = [UIColor yellowColor];
//(1)S设置内容大小 决定ScorllView是否可以滑动 当显示内容大小 > 大于当前视图大小的时候 才可以进行滑动
_scrollView.contentSize = CGSizeMake(1400*2, 900*2);
//(2)更改滚动条的颜色
_scrollView.indicatorStyle = UIScrollViewIndicatorStyleBlack;
//(3)隐藏 水平 和 竖直 滚动条
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.showsVerticalScrollIndicator = NO;
//(4)设置 关闭反弹效果
_scrollView.bounces = YES;
//(5)设置整屏滑动
_scrollView.pagingEnabled = YES;
//(6)设置显示内容的偏移量
_scrollView.contentOffset = CGPointMake(375*3, 0);
//(7) 点击状态栏 是否滑动到顶端 (默认是YES)
_scrollView.scrollsToTop = YES;
//(8)关闭滚动 (默认是开启)
_scrollView.scrollEnabled = YES;
//(9) 当显示的内容 小于 视图大小时候 内容视图是否可以进行反弹
_scrollView.alwaysBounceHorizontal = YES; //水平方向是否可以滚动
_scrollView.alwaysBounceVertical = YES;//竖直方向是否可以滚动
//(10)设置滚动代理
_scrollView.delegate = self;
//添加父视图
[self.view addSubview:_scrollView];
//释放所有权
[_scrollView release];
#pragma mark -- 缩放属性
//(1)设置最大比例
_scrollView.maximumZoomScale = 2;
//(2)设置最大比例
_scrollView.minimumZoomScale = 0.1;
//(3)设置变化比例
_scrollView.zoomScale = 1;
//(4)设置是否缩放反弹
_scrollView.bouncesZoom = YES;
//
}
//布局imageView
-(void)layoutImageView{
self.Pic = [[UIImageView alloc]initWithFrame:CGRectMake(0,200, 1400*2, 900*2)];
_Pic.image = [UIImage imageNamed:@"181159jwoodoox7ifwxduw.jpg"];
[_scrollView addSubview:_Pic];
[_Pic release];
}
#pragma mark - UIScrollViewDelegate
//滚动
//只要ScrollView滚动就会触发
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
// NSLog(@"滚蛋吧,肿瘤君");
}
//开始拖拽 触发
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
NSLog(@"开始拖拽....");
}
//已经结束拖拽 触发
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
NSLog(@"已经结束拖拽");
}
//开始减速
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
NSLog(@"将要减速");
}
//已经结束减速(停止)
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"已经减速(停止)");
}
//缩放
//完成缩放 触发
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale{
NSLog(@"结束缩放");
scrollView.zoomScale = 0.15;
}
//设置缩放子视图
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return _Pic;
}