UIScrollView常见功能(scrollView里子控件悬停)

来源:互联网 发布:word文档打开是空白mac 编辑:程序博客网 时间:2024/04/30 16:17

////  ViewController.m#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>@property(nonatomic,weak)UIScrollView *scrollView;@property(nonatomic,weak)UIImageView *imageView;@property(nonatomic,weak)UIView *redView;@property(nonatomic,weak)UIView *blueView;@end@implementation ViewController- (void)viewDidLoad {            // 添加scrollView    UIScrollView *scrollView = [[UIScrollView alloc] init];    scrollView.frame = [UIScreen mainScreen].bounds;    scrollView.delegate = self;//    scrollView.showsVerticalScrollIndicator = NO;    [self.view addSubview:scrollView];    self.scrollView = scrollView;            // 添加imageView到scrollView中    UIImageView *imageView = [[UIImageView alloc] init];    imageView.frame = CGRectMake(0, 0, self.view.frame.size.width, 140);    imageView.image = [UIImage imageNamed:@"ad_00"];    [self.scrollView addSubview:imageView];    self.imageView = imageView;        // 添加redView到scrollView中    UIView *redView = [[UIView alloc] init];    redView.frame = CGRectMake(0, self.imageView.frame.size.height, self.view.frame.size.width, 44);    redView.backgroundColor = [UIColor redColor];    [self.scrollView addSubview:redView];    self.redView = redView;        // 添加blueView到scrollView中    UIView *blueView = [[UIView alloc] init];    blueView.frame = CGRectMake(0, CGRectGetMaxY(self.redView.frame), self.view.frame.size.width, 800);    blueView.backgroundColor = [UIColor blueColor];    [self.scrollView addSubview:blueView];    self.blueView = blueView;        // 设置scrollView的contentSize属性    self.scrollView.contentSize = CGSizeMake(0, CGRectGetMaxY(self.blueView.frame));}#pragma mark - <UIScrollViewDelegate>- (void)scrollViewDidScroll:(UIScrollView *)scrollView{    CGFloat offsetY = scrollView.contentOffset.y;     if (offsetY >= self.imageView.frame.size.height) {        //将redView控件添加到控制器的view中,设置Y值为0        CGRect redFrame = self.redView.frame;        redFrame.origin.y = 0;        self.redView.frame = redFrame;        [self.view addSubview:self.redView];    }else{        //将redView控件添加到scrollView中,设置Y值为图片的高度        CGRect redFrame = self.redView.frame;        redFrame.origin.y = 140;        self.redView.frame = redFrame;        [self.scrollView addSubview:self.redView];    }        // 图片放大    CGFloat scale = 1 - offsetY / 70;    scale = (scale >= 1) ? scale : 1;    self.imageView.transform = CGAffineTransformMakeScale(scale, scale);       }@end


0 0