#Objective - C - UI-design - 第六天 -UIKit框架-UIScrollView-分屏相册练习(相册缩略图变为浏览到第几张)

UIScrollView

  • UIScrollView是所有滚动视图的基类

创建UIScrollView

    #define WIDTH self.view.frame.size.width
    #define HEIGHT self.view.frame.size.height
// 1.创建一个和屏幕等尺寸的
    UIScrollView UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH,HEIGHT)];
// 2.设置背景颜色
    scrollView.backgroundColor = [UIColor yellowColor];
// 3.把scrollView放到self.view上显示 
    [self.view addSubview:scrollView]; 
// 4.内存管理
    [scrollView release];

// ⽔水平⽅方向滚动 
    scrollView.contentSize = CGSizeMake(WIDTH * 7, 0); 
// 垂直⽅方向滚动
    scrollView.contentSize = CGSizeMake(0, 7 * HEIGHT);

偏移量contentOffset

    //通过偏移量让指定视图显示
      scrollView.contentOffset = CGPointMake(WIDTH, 0);
// 直接设置第二个视图显示在屏幕上

UIScrollView属性

    //创建好之后我们对UIScrollView其他的属性进行设置。
    scrollView.contentOffset = CGPointMake(WIDTH, 0);
    // 想让哪张图⽚片最先显⽰示通过设置偏移量完成
    scrollView.pagingEnabled = YES; 
    // 可以让ScrollView按⻚页来滚动
    scrollView.showsHorizontalScrollIndicator = NO;
    // 关闭⽔水平⽅方向滚动条

    scrollView.showsVerticalScrollIndicator = NO;
    // 关闭垂直⽅方向滚动条
    scrollView.bounces = NO; 
    // 关闭边界回弹效果
    scrollView.tag = 1000; 
    // 设定⼀一个tag值

UIScrollView协议

//监控滚动状态

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    // 只要是拖拽scrollView就会触发这个方法
    - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
    // 开始拖拽的时候会触发这个方法
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
    // 当结束拖拽的时候会触发这个方法
    - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
    // 当滚动减速的时候会触发这个方法
    - (void)scrollViewDidEndDecelerating:(UIScrollView 
    // 当滚动彻底停止的时候会触发这个方法

UIScrollView控制视图缩放

scrollView.maximumZoomScale = 2; 
// 设置最大的缩放最大比例
scrollView.minimumZoomScale = 0.5; 
// 设置最大的缩放最小比例
scrollView.zoomScale = 1; 
// 设置当前的比例
当我们在ViewDidLoad方法里设置好最大和最小的缩放 
比例这两个属性之后我们就可以对视图进行缩放操作

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
// 指定某个UIScrollView的子视图可以进行方法缩小操作

习题:在Scroll中缩放图片

Scroll内对图片缩放
//方法为图片放入一个小的ScrollSmall 再将小的ScrollSmall放入大的ScrollBig

//第一部分缩放
— (UIView *)viewForZoomingInScrollView:(UIScrollView
*)scrollView
{
    UIImageView *imageView = [scrollView.subviews
objectAtIndex:0];
    return imageView;
}
//第二部分还原
-(void)scrollViewDidEndDecelerating:(UIScrollView
  *)scrollView{
// 先从负责滚动的⼤大scrollView找到他的⼦子视图
for (UIScrollView *sView in scrollView.subviews){
// 在根据⼦子类的对象类型进⾏行判断
if ([sView isKindOfClass:[UIScrollView class]]){
// 把视图的尺⼨寸恢复到原有尺⼨寸 sView.zoomScale = 1.0;
        } 
    }
}

习题2:UIPageControl小圆点跟随Scroll视图移动

效果为:

    <
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值