为了账号安全,请及时绑定邮箱和手机立即绑定

但是这两种方法,貌似都有一点点卡哈,咋整?

但是这两种方法,貌似都有一点点卡哈,咋整?

iOS
至尊宝的传说 2023-04-16 21:17:34
我在做一个像Path那种向右滑动,显示出一个导航菜单。我用过两种方式,一种是    [UIView beginAnimations:nil context:@"view_animation"];     [UIView setAnimationDuration:0.3];     self.view.left = 200.0f; // setLeft 是我自己定义的方法     [UIView commitAnimations];另一种:    self.view.layer.anchorPoint = CGPointZero;    self.view.layer.frame.left = 200.0f;    CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];     pathAnimation.duration = 0.3f;    UIBezierPath *path = [UIBezierPath bezierPath];     [path moveToPoint:CGPointMake(0.0f, 0.0f)];     [path addLineToPoint:CGPointMake(200.0f, 0.0f)];     pathAnimation.path = path.CGPath;     pathAnimation.calculationMode = kCAAnimationLinear;     [self.view.layer addAnimation:pathAnimation forKey:@"view_animation"];而且最近,我更新了网易新闻的客户端,网易新闻的客户端这个操作非常流畅,有可能是怎么实现的呢?
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

卡有两种:CPU和GPU的。CPU引起的是不规则的卡顿,GPU引起的是掉帧。

如果是GPU问题,检查view上是不是直接在layer上加了圆角或阴影


查看完整回答
反对 回复 2023-04-20
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

我考虑,你的这个卡的问题不是动画方式造成的,而是添加动画的内容太多了。
你的self.view 上要添加动画,那么self.view的所有subview也都要跟着动,所以就非常的重。
你可以考虑尝试一下,监听到滑动事件,生成一张self.view的截图,把这张截图贴在上边,让截图动,这样效率会好的很多。

查看完整回答
反对 回复 2023-04-20
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信