iOS实现翻页效果动画实例代码
发布时间 - 2026-01-11 01:15:01 点击率:次大体思路:

在self.view 上放置一个label,label.text从数组中获得,当点击上下页按钮的时候,改变label.text,并且执行翻页效果动画.
效果如图:
主要代码:
#pragma mark - 下一页按钮响应事件
- (void)nextPage:(UIButton *)btn {
_forwardBtn.enabled = YES;
if (_count<_arr.count-1) {
btn.enabled = YES;
_label.text = [_arr objectAtIndex:_count+1];
NSString *subtypeString;
subtypeString = kCATransitionFromRight;
[self transitionWithType:@"pageCurl" WithSubtype:subtypeString ForView:self.view];
_count = _count + 1;
} else {
_count = _arr.count - 1;
btn.enabled = NO;
[self showAlert:@"已经是最后一页咯,亲(づ ̄ 3 ̄)づ"];
}
NSLog(@"%ld", (long)_count);
}
#pragma CATransition动画实现
/**
* 动画效果实现
*
* @param type 动画的类型 在开头的枚举中有列举,比如 CurlDown//下翻页,CurlUp//上翻页
,FlipFromLeft//左翻转,FlipFromRight//右翻转 等...
* @param subtype 动画执行的起始位置,上下左右
* @param view 哪个view执行的动画
*/
- (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view {
CATransition *animation = [CATransition animation];
animation.duration = 0.7f;
animation.type = type;
if (subtype != nil) {
animation.subtype = subtype;
}
animation.timingFunction = UIViewAnimationOptionCurveEaseInOut;
[view.layer addAnimation:animation forKey:@"animation"];
}
主要就是熟悉一下简单动画的实现了
本项目gitHub地址:https://github.com/iOSJason/PageBlurDemo.git
2 添加启动页和手势控制的翻页效果实现,添加swipe手势后画面切换更生动.
效果图:
#pragma mark - 手势
- (void)configTapGes {
_fromRightSwip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(nextPage:)];
_fromRightSwip.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:_fromRightSwip];
_fromLeftSwip = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(forwardPage:)];
_fromLeftSwip.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:_fromLeftSwip];
}
//判断是否是第一次进入程序
if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"isFirst"] isEqualToString:@"yes"]) {
//显示提示
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"tishi" message:@"" delegate:self cancelButtonTitle:@"晓得了" otherButtonTitles: nil];
[alert show];
[[NSUserDefaults standardUserDefaults]setObject:@"yes" forKey:@"isFirst"];
}
动画效果和上一个是一种效果,具体代码请看我的gibHub,和上一个项目在一个地址里面,这个在 SwipeGesturePageBlurDemo 分支中.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ios
# 翻页动画效果
# 翻页
# ios电子书翻页效果代码详解
# iOS图片界面翻页切换效果
# iOS实现日历翻页动画
# 实例讲解iOS中的UIPageViewController翻页视图控制器
# iOS开发中使用屏幕旋转功能的相关方法
# iOS开发中控制屏幕旋转的编写方法小结
# iOS拍照后图片自动旋转90度的完美解决方法
# IOS手势操作(拖动、捏合、旋转、点按、长按、轻扫、自定义)
# iOS渐变圆环旋转动画CAShapeLayer CAGradientLayer
# iOS基于CATransition实现翻页、旋转等动画效果
# 是一种
# 下一页
# 中有
# 上下左右
# 如图
# 下页
# 大家多多
# 组中
# 判断是否
# 实现了
# 更生动
# objectAtIndex
# _label
# NSString
# subtypeString
# _count
# enabled
# transitionWithType
# count
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速搭建FTP站点实现文件共享?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
如何用y主机助手快速搭建网站?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
网站优化排名时,需要考虑哪些问题呢?
南京网站制作费用,南京远驱官方网站?
如何在Windows虚拟主机上快速搭建网站?
Laravel如何使用Eloquent进行子查询
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何快速搭建高效可靠的建站解决方案?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何挑选优质建站一级代理提升网站排名?
英语简历制作免费网站推荐,如何将简历翻译成英文?
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel如何集成Inertia.js与Vue/React?(安装配置)
如何在阿里云购买域名并搭建网站?
Laravel怎么清理缓存_Laravel optimize clear命令详解
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
如何撰写建站申请书?关键要点有哪些?
Swift中循环语句中的转移语句 break 和 continue
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
详解Android——蓝牙技术 带你实现终端间数据传输
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
北京网站制作公司哪家好一点,北京租房网站有哪些?
实例解析Array和String方法
nodejs redis 发布订阅机制封装实现方法及实例代码
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何在云主机上快速搭建网站?
javascript读取文本节点方法小结
如何在景安云服务器上绑定域名并配置虚拟主机?
香港服务器选型指南:免备案配置与高效建站方案解析
HTML 中动态设置元素 name 属性的正确语法详解
长沙做网站要多少钱,长沙国安网络怎么样?

