利用UIScrollView 使加到其上的图片(下拉放大)

#import "RootViewController.h"

// 定义宏

#define WIDTH (self.view.frame.size.width - 50)

#define HEITH 200


@interface RootViewController ()<UIScrollViewDelegate>


@property (nonatomic, retain) UIScrollView *scrollView;

@property (nonatomic, retain) UIImageView *imageView;


@end


@implementation RootViewController

// 创建UIScrollView

- (void)create

{

    _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 10, self.view.frame.size.width - 50, self.view.frame.size.height - 50)];

    // 控制只能上下移动

    _scrollView.contentSize = CGSizeMake(0, 1000);

    // 添加到view

    [self.view addSubview:_scrollView];

    // 设置背景色为亮灰色

    _scrollView.backgroundColor = [UIColor lightGrayColor];

    // 释放

    [_scrollView release];

    // 创建UIImageView

    _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width - 50, 200)];

    // _imageView 一张图片

    _imageView.image = [UIImage imageNamed:@"lufei"];

    // _imageView加到_scrollView

    [_scrollView addSubview:_imageView];

    // 设置代理人

    _scrollView.delegate = self;

    [_imageView release];

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    // 偏移量y的变化

    CGFloat dy = scrollView.contentOffset.y;

    NSLog(@"%f", dy);

    // 判断拉倒方向

    if (dy < 0) {

        // 利用公式

        _imageView.frame = CGRectMake(-(-dy * (WIDTH / HEITH)) / 2, dy, WIDTH - dy * (WIDTH / HEITH), HEITH - dy);

    }

}

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    [self create];

}

@end


你可能感兴趣的:(移动开发,uiscrollview)