iOS开发 -- UIScrollView属性及触发时机

聚合数据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;
}

你可能感兴趣的:(ios开发,uiscrollview,触发时机)