高坂千岁,那种网站你们懂的,html教程
本文实例为大家分享了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
iOS 使用UITextField自定义搜索框 实现用户输入完之后“实时搜索”功能
网友评论