IOS UI初级-滑动视图ScrollerView

1.UIScaollerView包含两个子类
UITableView UITextView
2.视图尺寸与内容尺寸
// 当自身的 frame 改变时,也等比例的修改子视图的属性
    view.autoresizesSubviews = NO;
3.创建滑动视图
// 创建滑动视图
   
UIScrollView *scorllView = [[ UIScrollView alloc ] initWithFrame : CGRectMake ( 50 , 20 , 300 , 200 )];
    scorllView.
backgroundColor = [ UIColor grayColor ];
    [
self . view addSubview :scorllView];
   
   
// 子视图
   
UIView *view1 = [[ UIView alloc ] initWithFrame : CGRectMake ( 0 , 0 , 300 , 200 )];
    view1.
backgroundColor = [ UIColor redColor ];
    [scorllView addSubview:view1];

// 设置内容尺寸
   
// 当内容尺寸与视图尺寸一样时,没有滑动效果
    scorllView.contentSize = CGSizeMake(300, 400);

/*****UIScrollView 的常用属性 *****/
   
// 是否显示水平滚动条
    scorllView.
showsHorizontalScrollIndicator = NO ;
   
   
// 是否显示垂直滚动条
//    scorllView.showsVerticalScrollIndicator = NO;

// 设置滚动条的样式 默认,白色,黑色
//    scorllView.indicatorStyle = UIScrollViewIndicatorStyleBlack;
   
   
// 滚动开始、末尾位置是否加反弹效果
//    scorllView.bounces = NO;
   
   
// 设置滚动的偏移量
//    scorllView.contentOffset = CGPointMake(50, 250);
   
   
// 设置是否分页 子视图的尺寸必须是视图尺寸的整数倍
//    scorllView.pagingEnabled = YES;
   
   
// 是否开启滚动
//    scorllView.scrollEnabled = NO;

    // 填充 返回时留在偏移的位置
//    scorllView.contentInset = UIEdgeInsetsMake(20, 20, 0, 0);
   
   
// 设置代理对象
    scorllView.delegate = self;   
}

#pragma mark-----UIScrollViewDelegate
// 滑动视图滑动时调用,不断的调用
- (
void )scrollViewDidScroll:( UIScrollView *)scrollView
{
//    CGFloat ySet = scrollView.contentOffset.y;
//    NSLog(@"%.2f", ySet);
}
// 开始拖动的时候调用的
- (
void )scrollViewWillBeginDragging:( UIScrollView *)scrollView
{
   
NSLog ( @" 开始拖动 " );
}
// 结束拖动的时候调用 ---- 手指离开屏幕
- (
void )scrollViewDidEndDragging:( UIScrollView *)scrollView willDecelerate:( BOOL )decelerate
{
   
NSLog ( @" 结束拖动 " );
   
// 是否减速
   
if (decelerate) {
       
// 将要开始减速
       
NSLog ( @" 将要开始减速 " );
    }
else if (!decelerate){
       
// 已经停止
       
NSLog ( @" 结束拖动的时候就已经停止,没有减速 " );
    }
}
// 减速才调用的协议方法
- (
void )scrollViewWillBeginDecelerating:( UIScrollView *)scrollView
{
   
NSLog ( @" 开始减速 " );
}

- (
void )scrollViewDidEndDecelerating:( UIScrollView *)scrollView
{
   
NSLog ( @" 结束减速 " );
}
3.使用捏合手势
UIScrollView *scrollView = [[ UIScrollView alloc ] initWithFrame : self . view . bounds ];
    [
self . view addSubview :scrollView];
    scrollView.
delegate = self ;
   
// 设置放大的尺寸
    scrollView.
maximumZoomScale = 3 ;
    scrollView.minimumZoomScale = 1;

#pragma mark---UIScrollViewDelegate
// 设置缩放的子视图
- (
UIView *)viewForZoomingInScrollView:( UIScrollView *)scrollView
{
//    NSLog(@"1111");
  
   
   
return [scrollView viewWithTag : 100 ];
}


// 缩放时调用的协议方法 -- 实时调用
- (
void )scrollViewDidZoom:( UIScrollView *)scrollView
{
   
// 获取到放大的倍数
   
CGFloat scale = scrollView. zoomScale ;
   
NSLog ( @"%.2f" ,scale);
}

// 开始缩放
- (
void )scrollViewWillBeginZooming:( UIScrollView *)scrollView withView:( UIView *)view
{
   
NSLog ( @" 开始缩放 " );
}
// 停止缩放
- (
void )scrollViewDidEndZooming:( UIScrollView *)scrollView withView:( UIView *)view atScale:( CGFloat )scale
{
   
NSLog ( @" 停止缩放 " );
}























你可能感兴趣的:(UI初级)