zoukankan      html  css  js  c++  java
  • scrollView中内部控件的悬停

    以下图为例,图片,红色view和蓝色view是添加在scrollView上的,向上拖动,红色view停留在屏幕顶端不动,其它的继续滚动,向下拖动后,红色view跟着下来

    代码如下:(注意的是scrollView中自动布局的设置问题)

    复制代码
     1 #import "ViewController.h"
     2 @interface ViewController () <UIScrollViewDelegate>
     3 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
     4 @property (weak, nonatomic) IBOutlet UIView *blueView;
     5 @property (weak, nonatomic) IBOutlet UIView *redView;
     6 @property (weak, nonatomic) IBOutlet UIImageView *imageView;
     7 @end
     8 @implementation ViewController
     9 - (void)viewDidLoad {
    10     [super viewDidLoad];
    11     self.scrollView.contentSize = CGSizeMake(0, CGRectGetMaxY(self.blueView.frame));
    12 }
    13 
    14 - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    15 {
    16     CGFloat imageH = self.imageView.frame.size.height;
    17     CGFloat offsetY = scrollView.contentOffset.y;
    18     if (offsetY >= imageH) {
    19         //将红色控件添加到控制器View中
    20         CGRect redFrame = self.redView.frame;
    21         redFrame.origin.y = 0;
    22         self.redView.frame = redFrame;
    23         [self.view addSubview:self.redView];
    24     }else {
    25         //将红色控件添加到控制器scrollView中
    26         CGRect redFrame = self.redView.frame;
    27         redFrame.origin.y = 140;
    28         self.redView.frame = redFrame;
    29         [self.scrollView addSubview:self.redView];
    30     }
    31     
    32 //    if (offsetY < 0) {
    33 //        CGFloat scale = 1 - (offsetY / 80);
    34 //        self.imageView.transform = CGAffineTransformMakeScale(scale, scale);
    35 //    }
    36     
    37     CGFloat scale = 1 - (offsetY / 20);
    38     scale = (scale >= 1) ? scale : 1;
    39     self.imageView.transform = CGAffineTransformMakeScale(scale, scale);
    40 }
    41 @end
    复制代码
  • 相关阅读:
    学习笔记180—回归系数与相关系数的关系和区别
    学习笔记178—精品书籍推荐榜
    学习笔记177—PPT生成的图片设置成特定像素级的图片【四种方法】
    学习笔记176—PS 获得一个椭圆的某个部分
    shell:利用sed删除文件中的匹配行
    常用壁纸
    Linux下编译C文件:Hello World
    属性访问、特性和修饰符
    介绍Python基本特殊方法
    kafka配置
  • 原文地址:https://www.cnblogs.com/ritian/p/5470109.html
Copyright © 2011-2022 走看看