- (void)show {

[[UIApplication sharedApplication].windows[0] addSubview:self.projectView];

CGRect frame = self.projectView.frame;

frame.origin.y = fView_Height(self.view) - 480*DY_Proportion;

@weakify(self)

[UIView animateWithDuration:0.25 animations:^{

@strongify(self)

[self.groundView.layer setTransform:[self firstTransform]];//红色view调用了上面的旋转效果

} completion:^(BOOL finished) {

@strongify(self)

[UIView animateWithDuration:0.25 animations:^{

@strongify(self)

//旋转完成以后页面缩小 同事改变黄色页面的frame的y值

[self.groundView.layer setTransform:[self secondTransform]];

//显示maskView

[self.maskView setAlpha:0.5f];

//popView上升

self.projectView.frame = frame;

} ];

}];

}

- (void)close {

CGRect frame = self.projectView.frame;

frame.origin.y = fView_Height(self.view) + 30*DY_Proportion;

@weakify(self)

[UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{

@strongify(self)

//maskView隐藏

[self.maskView setAlpha:0.f];

//popView下降

self.projectView.frame = frame;

//同时进行 感觉更丝滑

[self.groundView.layer setTransform:[self firstTransform]];

} completion:^(BOOL finished) {

@strongify(self)

[UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{

@strongify(self)

//变为初始值

[self.groundView.layer setTransform:CATransform3DIdentity];

} completion:^(BOOL finished) {

@strongify(self)

//移除

[self.projectView removeFromSuperview];

}];

}];

}

- (CATransform3D)firstTransform{

CATransform3D t1 = CATransform3DIdentity;

t1.m34 = 1.0/-900;

//带点缩小的效果

t1 = CATransform3DScale(t1, 0.98, 0.98, 1);

//绕x轴旋转

t1 = CATransform3DRotate(t1, 15.0 * M_PI/180.0, 1, 0, 0);

return t1;

}

- (CATransform3D)secondTransform{

CATransform3D t2 = CATransform3DIdentity;

t2.m34 = [self firstTransform].m34;

//向下移

t2 = CATransform3DTranslate(t2, 0, 0, 0);

//第二次缩小

t2 = CATransform3DScale(t2, 0.90, 0.90, 1);

return t2;

}

iOS开发 仿淘宝,京东商品详情3D动画的更多相关文章

  1. 自己定义ViewGroup实现仿淘宝的商品详情页

    近期公司在新版本号上有一个须要. 要在首页加入一个滑动效果, 详细就是仿照X宝的商品详情页, 拉到页面底部时有一个粘滞效果, 例如以下图 X东的商品详情页,假设用户继续向上拉的话就进入商品图文描写叙述 ...

  2. iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录以及调用淘宝客户端商品详情页

      公司最近要做第三方登录,由于是做导购项目,必不可少的有淘宝的授权登录.本来就是一个授权登录,没什么大不了的.但淘宝的无线开放业务——阿里百川更新的最新版本3.1.1.96,开发文档不是不详细,是很 ...

  3. 使用Python 爬取 京东 ,淘宝。 商品详情页的数据。(避开了反爬虫机制)

    以下是爬取京东商品详情的Python3代码,以excel存放链接的方式批量爬取.excel如下 代码如下 from selenium import webdriver from lxml import ...

  4. App 仿淘宝:控制详情和购买须知样式切换,控制商品详情和购买须知选项卡的位置(固定在顶部还是正常)

    CSS: <div id="details" ref="details" class="details" :class="t ...

  5. 仿淘宝,京东红包雨(基于Phaser框架)

    本红包雨项目是基于HTML5的游戏框架Phaser写的,最终形成的是一个canvas,所以性能很好,但是必须要说的是这个框架比较大,压缩后也有700K左右,所以请慎用. 代码地址: https://g ...

  6. vue mint-ui 实现省市区街道4级联动(仿淘宝京东收货地址4级联动)

    demo及源码地址 https://github.com/artiely/citypicker 先去下载一个“省份.城市.区县.乡镇” 四级联动数据,然后 引入 import { Picker } f ...

  7. ios开发——仿新版iBooks书本打开与关闭动画

    IOS新版iBooks吸引人的地方除了有干净整洁的界面.方便灵活的操作以及大容量的书籍容量以外.还有其优秀的用户交互,尤其是其动画的使用.打开一本书时书本缓慢放大并打开.关闭一本书后书本关闭并回到原位 ...

  8. Android自己定义控件实战——仿淘宝商品浏览界面

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38656929 用手机淘宝浏览商品详情时,商品图片是放在后面的,在第一个Scr ...

  9. Android自定义控件实战——仿淘宝商品浏览界面

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38656929 用手机淘宝浏览商品详情时,商品图片是放在后面的,在第一个Scr ...

随机推荐

  1. 如何查看tensorflow版本与存储位置

    import tensorflow as tf tf.__version__ __看着是一个下划线,实际上是两个下划线,中间有空格 tf.__path_

  2. HDU 4810 Wall Painting

    Wall Painting Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  3. 2016年6月29日 星期三 --出埃及记 Exodus 14:26

    2016年6月29日 星期三 --出埃及记 Exodus 14:26 Then the LORD said to Moses, "Stretch out your hand over the ...

  4. 洛谷 P1896 [SCOI2005]互不侵犯King

    题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入输出格式 输入格式: 只有一行,包 ...

  5. Struts2应用的开发流程

    Struts2的开发流程 为了能够在eclipse中使用Struts2在进行开发时,需要根据需要导入一些有关的jar包: 在官网下载相关的压缩包,这里下载了两个:struts-2.3.30-all.z ...

  6. 自动布局(Masonry)设置tabbar

    //自定义标签工具栏 - (void) initTabBarView{ // self.bottomView = [[UIView alloc]initWithFrame:CGRectMake(, k ...

  7. Listview的闪烁问题

    在更新Listview数据时会出现闪烁,主要原因是没有开启双缓冲属性,在C#中可以通过重载Listview的方式开启,代码如下: using System.Windows.Forms; public ...

  8. How to: Update an .edmx File when the Database Changes

    https://msdn.microsoft.com/en-us/library/cc716697.aspx In the Model Browser, right-click the .edmx f ...

  9. ios uiview封装动画(摘录)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...

  10. Get started with Gazebo in ROS

    Run Gazebo These three steps will run Gazebo with a default world. Install Gazebo. Open a terminal. ...