UIScrollView的应用

#import "ViewController.h"

@interface ViewController ()<UIScrollViewDelegate>

{

    UIImageView *imgView;

}

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    

#pragma mark 课程要点

    /*

     

     * UIScrollView的概念

     

     * UIScrollView的重要属性

     

     * 解决登录注册界面的一个常见问题

     

     * UIScrollView常用属性

     

     * 利用scrollView放大图片

     

     */

    

    

#pragma mark UIScrollView的概念

    /*

     *  UIScrollowView是一个能够滚动的试图控件

     

     *  UIScrollowView继承于UIView

     

     *  通过滚动来显示更多的内容

     

     *  举例:手机的设置界面

     */

    

    //创建UI控件的三步走

    

    UIScrollView *scrollowView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 66, 320, 400)];

    scrollowView.backgroundColor = [UIColor grayColor];

    

    //测试View

    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 270, 430)];

    view.backgroundColor = [UIColor redColor];

    [scrollowView addSubview:view];

    

    //测试View1

    UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0,0,50, 50)];

    view1.backgroundColor = [UIColor yellowColor];

    [scrollowView addSubview:view1];

    

    //将控制器自带的view更换为scrollowView

    self.view = scrollowView;

    

    //至此运行一下,试着滚动屏幕,会发现效果跟UIView一样,不要急,继续往下看。

    

    

#pragma mark UIScrollowView的常用属性

    

    /*

     

     * contentSize

     

     * contentSize表示UIScrollView内容的尺寸,默认为(00

     

     * UIScrollowViewframecontentSize的关系

     

     * frame的可以理解为一面镜子,contentSize可以理解为小明的脸。

     

     * 如果镜子的尺寸小于小明脸的尺寸,咱们照镜子的时候就需要来回移动脸部,以保证看完整个脸部

     

     * 如果镜子的尺寸大于等于小明脸的尺寸,此时小明不需要移动就能看完整个脸部。

     

     */

    

    

    //   scrollowView.contentSize = CGSizeMake(420, 500);

    

    /*

     * contentOffsetscrollview当前显示区域顶点相对于frame顶点的偏移量,默认为(00

     

     * 不设这个值的话,UIScrollView不滑动的话就默认从(00)开始显示,设置这个值以后,咱就能控制UIScrollow在滑动之前显示scroollview的哪一部分。

     

     * 就好比小明拿个手掌大的小镜子,他想直接看到鼻子上是否有痘痘,通过设置contentOffset能够立马定位到鼻子。

     

     */

    //这样设置完以后,就会直接使红色在左上角

    //    scrollowView.contentOffset = CGPointMake(50,50);

    

    

    /*

     * contentInset能够在UIScrollView4周增加额外的滚动区域

     *

     */

    //    scrollowView.contentInset = UIEdgeInsetsMake(20, 20, 20,20);

    

    //PS:contentInset具体的用法,在下面的这个例子有更为直观的体现

    

#pragma mark 解决登录注册界面的一个常见问题

    

    /*

     * 新建一个工程,将下面注释的代码,粘贴在首页控制器的viewDidLoad方法里。

     */

    

    //

    //    UIScrollView *scrollow = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

    //

    //    //UIScorllView设置内容大小

    //    scrollow.contentSize = CGSizeMake(320, 480);

    //

    //    //UIScrollView增加滚动区域,254是键盘的高度

    //    scrollow.contentInset = UIEdgeInsetsMake(0, 0, 254, 0);

    //    scrollow.backgroundColor = [UIColor redColor];

    //

    //    self.view = scrollow;

    //

    //    UITextField *textFiled = [[UITextField alloc]initWithFrame:CGRectMake(0, 420, 100, 60)];

    //

    //    textFiled.backgroundColor = [UIColor grayColor];

    //

    //    [scrollow addSubview:textFiled];

    //

    //    UITextField *textFiled1 = [[UITextField alloc]initWithFrame:CGRectMake(0, 100, 100, 60)];

    //

    //    textFiled1.backgroundColor = [UIColor grayColor];

    //

    //    [scrollow addSubview:textFiled1];

    

#pragma mark UIScrllView常用属性

    

    //是否显示横向滚动条

    scrollowView.showsHorizontalScrollIndicator = YES;

    //是否显示纵向滚动条

    scrollowView.showsVerticalScrollIndicator = NO;

    

    //测试view2

    UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(320*3, 0, 320, 480)];

    view2.backgroundColor = [UIColor blueColor];

    [scrollowView addSubview:view2];

    

    //将实际内容的宽设置为屏幕宽的四倍,高还是屏幕的高

    scrollowView.contentSize = CGSizeMake(320*4, 480);

    

    //将内容分页显示

    scrollowView.pagingEnabled = YES;

    

    

    

    //是否需要弹簧效果

    scrollowView.bounces = YES;

    

    //设置scroll能否滚动

    scrollowView.scrollEnabled = YES;

    

#pragma mark 利用scrollView放大图片

    

    //    //将之前放在scrollView上的所有试图移除掉

    //    [view removeFromSuperview];

    //    [view1 removeFromSuperview];

    //    [view2 removeFromSuperview];

    //

    //    //放上去一个图片

    //    UIImage *img = [UIImage imageNamed:@"李江.JPG"];

    //    imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

    //    imgView.image = img;

    //    scrollowView.contentSize = CGSizeMake(img.size.width, img.size.height);

    //

    //    [scrollowView addSubview:imgView];

    //

    //

    //    scrollowView.maximumZoomScale=10.0;//最大倍率(默认倍率)

    //    scrollowView.minimumZoomScale=1.0;//最小倍率(默认倍率)

    //    scrollowView.decelerationRate=5.0;//减速倍率(默认倍率)

    //

    //    scrollowView.delegate = self;

}

//告知要放大哪个试图

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

    return imgView;

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值