广告
返回顶部
首页 > 资讯 > 移动开发 >iOS实现图片折叠效果
  • 655
分享到

iOS实现图片折叠效果

iOS图片折叠 2022-05-15 09:05:48 655人浏览 独家记忆
摘要

本文实例为大家分享了iOS实现图片折叠效果的具体代码,供大家参考,具体内容如下 效果图: 结构布局:拖两个UIImageView到控制器,设置相同的frame和图片,再拖一个大的U

本文实例为大家分享了iOS实现图片折叠效果的具体代码,供大家参考,具体内容如下

效果图:

结构布局:拖两个UIImageView到控制器,设置相同的frame和图片,再拖一个大的UIImageView盖在上面,注意把大的imageView.userInteractionEnabled = YES;能够添加手势。

注意层次结构:

核心代码:


//
// ViewController.m
// 图片折叠
//
// Created by llkj on 2017/8/31.
// Copyright © 2017年 LayneCheung. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *topImageV;
@property (weak, nonatomic) IBOutlet UIImageView *buttomImageV;
@property (nonatomic, weak) CAGradientLayer *gradientL;
@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  //1.让上不图片只显示上半部分
  self.topImageV.layer.contentsRect = CGRectMake(0, 0, 1, 0.5);
  //2.让下不图片只显示下半部分
  self.buttomImageV.layer.contentsRect = CGRectMake(0, 0.5, 1, 0.5);

  self.topImageV.layer.anchorPoint = CGPointMake(0.5, 1);
  self.buttomImageV.layer.anchorPoint = CGPointMake(0.5, 0);

  //设置渐变层
  CAGradientLayer *gradidentL = [CAGradientLayer layer];
  gradidentL.frame = self.buttomImageV.bounds;
  gradidentL.opacity = 0;
  gradidentL.colors = @[(id)[UIColor clearColor].CGColor, (id)[UIColor blackColor].CGColor];
  self.gradientL = gradidentL;
  [self.buttomImageV.layer addSublayer:gradidentL];
}

//这里也可以手动给大的ImageView添加一个UIPanGestureRecognizer手势
- (IBAction)pan:(UIPanGestureRecognizer *)pan {

  //获取移动的偏移量
  CGPoint transP = [pan translationInView:pan.view];
  //让上部图片开始旋转
  CGFloat angle = transP.y * M_PI / 200;

  //近大远小效果
  CATransfORM3D transform = CATransform3DIdentity;
  //眼睛离屏幕的距离(透视效果)
  transform.m34 = -1 / 300.0;

  self.gradientL.opacity = transP.y * 1 / 200.0;

  self.topImageV.layer.transform = CATransform3DRotate(transform, -angle, 1, 0, 0);


  if (pan.state == UIGestureRecognizerStateEnded) {
    self.gradientL.opacity = 0;
    //上部图片复位
    //usingspringWithDamping:弹性系数
    [UIView animateWithDuration:0.5 delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:0 options:UIViewAnimationOptionCurveLinear animations:^{
      self.topImageV.layer.transform = CATransform3DIdentity;
    } completion:^(BOOL finished) {

    }];
  }
}

@end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: iOS实现图片折叠效果

本文链接: https://www.lsjlt.com/news/30402.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iOS实现图片折叠效果
    本文实例为大家分享了iOS实现图片折叠效果的具体代码,供大家参考,具体内容如下 效果图: 结构布局:拖两个UIImageView到控制器,设置相同的frame和图片,再拖一个大的U...
    99+
    2022-05-15
    iOS 图片折叠
  • iOS实现列表折叠效果
    本文实例为大家分享了iOS实现列表折叠效果的具体代码,供大家参考,具体内容如下 实现列表折叠效果其实比较简单,点击列表头部的时候,把返回列表行数设为 0,就是收起列表;再次点击列表头...
    99+
    2022-05-26
    iOS 列表 折叠
  • iOS实现卡片堆叠效果
    本文实例为大家分享了iOS实现卡片堆叠效果的具体代码,供大家参考,具体内容如下 如图,这就是最终效果。 去年安卓5.0发布的时候,当我看到安卓全新的Material Design设...
    99+
    2022-05-16
    iOS 卡片堆叠
  • CSS如何实现图片鼠标悬停折叠效果
    这篇文章给大家分享的是有关CSS如何实现图片鼠标悬停折叠效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS 实现 图片鼠标悬停折叠效果1. 实现要点 折叠是由多个块级元素来完成的;图片是以背景图片...
    99+
    2023-06-08
  • iOS实现折叠单元格
    本文实例为大家分享了iOS实现折叠单元格的具体代码,供大家参考,具体内容如下 思路 点击按钮或cell单元格来进行展开收缩, 同时使用一个BOOL值记录单元格展开收缩状态。根据BOO...
    99+
    2022-05-29
    iOS 折叠 单元格
  • iOS实现单元格折叠
    本文实例为大家分享了iOS实现单元格折叠的具体代码,供大家参考,具体内容如下 折叠的核心是单元格的行数或列数实时变化 比较重要的步骤有: 设置数组 (可变数组,用于更新单元格内容) ...
    99+
    2022-06-04
    iOS 单元格 折叠
  • iOS实现图片抖动效果
    本文实例为大家分享了iOS实现图片抖动效果的具体代码,供大家参考,具体内容如下 效果图: 核心代码: // // ViewController.m // 图标抖动 // // ...
    99+
    2022-05-28
    iOS 图片抖动
  • 纯css怎样实现多级折叠菜单折叠树效果
    这篇文章将为大家详细讲解有关纯css怎样实现多级折叠菜单折叠树效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运用checkbox的checked值来判断下级栏目是否展开,CSS3的选择器中提供了:ch...
    99+
    2023-06-08
  • jquery如何实现折叠菜单效果
    这篇文章将为大家详细讲解有关jquery如何实现折叠菜单效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。这是一个简单的折叠框效果实现,核心内容jQ库里的slideTog...
    99+
    2022-10-19
  • iOS实现图片自动切换效果
    本文实例为大家分享了iOS实现图片自动切换的具体代码,供大家参考,具体内容如下 #import "ViewController.h" #define ImageViewCount...
    99+
    2022-05-24
    iOS 图片切换
  • bootstrap如何实现手风琴折叠效果
    这篇文章主要为大家展示了“bootstrap如何实现手风琴折叠效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“bootstrap如何实现手风琴折叠效果”这篇文...
    99+
    2022-10-19
  • Android ChipGroup收起折叠效果怎么实现
    这篇文章主要介绍“Android ChipGroup收起折叠效果怎么实现”,在日常操作中,相信很多人在Android ChipGroup收起折叠效果怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-04
  • iOS实现卡片式滚动效果 iOS实现电影选片效果
    本文实例为大家分享了iOS实现卡片式滚动效果的具体代码,供大家参考,具体内容如下 先来张效果图吧: 直接上源码了: CardScrollView.h #import <U...
    99+
    2022-06-01
    iOS 卡片 滚动
  • Android TextView实现多文本折叠、展开效果
    背景在开发过程中,当我们的需求中包含说说或者评论等内容的展示时,我们都会考虑当内容太多时该如何显示。当内容的字数太多,如果全部展示出来可能会影响体验效果,但是又不能只截取一部分内容进行展示,此时就需要考虑使用多行显示折叠的效果来实现。效果图...
    99+
    2023-05-31
    android textview roi
  • Android实现图片叠加效果的两种方法
    本文实例讲述了Android实现图片叠加效果的两种方法。分享给大家供大家参考,具体如下: 效果图: 第一种: 第二种: 第一种是通过canvas画出来的效果: publi...
    99+
    2022-06-06
    方法 图片 Android
  • iOS UICollectionView实现卡片效果
    现在使用卡片效果的app很多,之前公司让实现一种卡片效果,就写了一篇关于实现卡片的文章。文章最后附有demo 实现上我选择了使用UICollectionView ;用UICollec...
    99+
    2022-05-28
    iOS 卡片
  • Vue表格隐藏行折叠效果如何实现
    这篇“Vue表格隐藏行折叠效果如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue表格隐藏行折叠效果如何实现”文章吧...
    99+
    2023-07-06
  • Android UI实现多行文本折叠展开效果
    上文介绍了单行文本水平触摸滑动效果,通过EditText实现TextView单行长文本水平滑动效果。 本文继续介绍了多行文本折叠展开,自定义布局View实现多行文本折叠和展开 ...
    99+
    2022-06-06
    Android
  • 怎么用jQuery实现ASP.NET GridView折叠伸展效果
    这篇文章主要讲解了“怎么用jQuery实现ASP.NET GridView折叠伸展效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用jQuery实现ASP.NET GridView折叠...
    99+
    2023-06-17
  • Android中RecyclerView实现多级折叠列表效果(二)
    前言在本文开始之前请大家先看一下这篇文章:https://www.jb51.net/article/113510.htm上面的这篇文章是之前写的,里面发现有很多不好用地方,也学到些新姿势,改动了许多地方。下面来看看详细的介绍:要点:&nbs...
    99+
    2023-05-31
    android recyclerview 多级列表
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作