zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS之UI--转场动画

2023-09-14 08:57:57 时间

1.什么是转场动画?
    就是从一个场景转换到另一个场景,像导航控制器的push效果,就是一个转场.
    
2.如何创建转场动画
    创建转场动画
    CATransition *anim = [CATransition animation];
    设置转场类型
    anim.type = @"cube";
    anim.duration = 1;
    设置转场的方向
    anim.subtype = kCATransitionFromLeft;
    设置动画的开始位置
    anim.startProgress = 0.5;
    设置动画的结束位置
    anim.endProgress  =0.8;
    添加动画.了
    [_imageV.layer addAnimation:anim forKey:nil];

要执行动画的代码称为转场代码.
     转场动画要和转场代码写在同一个方法当中才有动画效果.
     
3.UIView进行转场动画
         
    [UIView transitionWithView:self.imageV duration:1 
        options:UIViewAnimationOptionTransitionFlipFromRight 
        animations:^{
            转场代码
        } completion:^(BOOL finished) {
            动画执行完毕时调用.
        }];
        
        使用UIView转场的类型比较少.

 

setType:有四种类型:
    kCATransitionFade                   //交叉淡化过渡
    kCATransitionMoveIn               //移动覆盖原图
    kCATransitionPush                    //新视图将旧视图推出去
    kCATransitionReveal                //底部显出来

另一种设置方法
    pageCurl     //向上翻一页
    pageUnCurl   //向下翻一页
    rippleEffect   //滴水效果
    suckEffect     //收缩效果,如一块布被抽走
    cube       //立方体效果
    oglFlip      //上下翻转效果

 

下面上一个代码实例,先上效果,然后上代码截图:

 

 

 


阿里云EMAS-专家测试服务iOS和Android上百种机型性能、兼容及UI等测试 阿里云EMAS测试专家有着集团内部多个日活过亿规模APP经验,提供EMAS专家测试,客户只需提交测试需求,从用例设计、脚本录制、海量机型测试、整理测试结果、48小时输出专家测试报告均由阿里云EMAS测试专家一站式服务完成。覆盖功能测试、深度兼容测试、性能测试、UI适配测试以及隐私合规检测等,帮助用户以更低成本获得高质量的全面测试能力,可用于APP正式发版前验收,规避手机APP上线前或发版过程中各类隐患。
iOS UI 自动化测试原理以及在 Trip.com 的应用实践 笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。从而,笔者更深入地研究了 iOS 平台下的自动化测试技术,目前也在负责部门 App 自动化测试平台的搭建和维护。故想借这篇文章一并将所踩过的坑以及学习到的技术,系统且全面地整理出分享给大家。
flutter 在windows和linux上运行IOS UI模拟器 之前发视频总是有人留言,我用的什么模拟器,今天给大家说一下 我一般用的是device_preview这个插件,这个插件的闲置是只能做UI上的模拟,并没有真正的运行环境。 近似您的应用程序在另一台设备上的外观和性能。
如何优化iOS系统上的图文评论UI界面 在我们的社交 APP 上,⽤户的动态由精美的照⽚ 、视频和⽂字组成。对于每张照⽚和视频, 我 们都会展示出完整的标题和五个最新评论。由于⽤户喜欢使⽤标题来讲述照⽚背后的故事, 因此它们通常很⻓ 、很复杂, 并且可能包含超链 接和表情符号。渲染如此复杂的⽂本带来了⼀些问题, 它在滚动时造成性能下降。 即使在 iPhone 12 这样的新设备上, 复杂标题的初始⽂本绘制需要⻓达 50 毫秒, ⽽⽂本展示 需要⻓达 30 毫秒, 渲染速度很慢。⽂本问题还是简单问题, 有时我们需要加载更加复杂的图⽚甚⾄视频。所有这些步骤都发⽣在 UI 线程上, 导致app在⽤户滚动时丢帧。
在 iOS 上面开发界面,需要创建视图、配置界面、视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码。这还仅仅是界面设计,除此之外,完成 controllers 的回调、控制内部事务在界面上的显示效果、界面的操控和内部事务的联系等等多方面的事情都需要手动解决。