搜索

首页  >  问答  >  正文

objective-c - ios页面跳转有点卡顿

其中一个ViewController执行以下语句

UIViewController *vc = [[UIViewController alloc] init];
[self.navigationController pushViewController:vc animated:false];

将要被push的ViewController的viewDidLoad方法中,我init了一个textview和一个button,并且addSubview了,然后我在viewWillAppear方法中设置了他们的一点属性,用Masonry做了布局。
然后在第一次push的时候会产生卡顿,请问有什么方法避免?

PHP中文网PHP中文网2772 天前768

全部回复(12)我来回复

  • 怪我咯

    怪我咯2017-04-18 09:17:45

    首先要清除卡顿是发生在哪里 用Time Profiler看看
    或者你把代码贴出来

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:17:45

    在跳转过去的控制器中设置背景色了么

    回复
    0
  • 迷茫

    迷茫2017-04-18 09:17:45

    需要加载的东西太多 注意自己的代码逻辑 卡顿的原因太多你需要找出问题进行针对性的优化

    回复
    0
  • PHPz

    PHPz2017-04-18 09:17:45

    可以将跳转的控制器view设置一个白色背景

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:17:45

    跳过去的viewcontroller 的view backgroundcolor 不能为clearcolor

    回复
    0
  • 阿神

    阿神2017-04-18 09:17:45

    怎么初始化了一个类的实例呢?你要跳转的那个类的名字不会就叫做UIViewController.h吧?

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:17:45

    有可能是下一个页面的背景颜色问题,我们以前遇到过,是不是有潜在设置透明度?

    回复
    0
  • 高洛峰

    高洛峰2017-04-18 09:17:45

    写了这么点东西,会卡?有可能是backgroundColor的问题,最好填代码看看

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 09:17:45

    最好push出的控制器 设置背景颜色 不然会造成渲染导致卡顿

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:17:45

    在view did appear里做吧。viewwillappear和转场动画都在同一次runloop迭代中,autolayout本身很耗性能的。把布局和动画都放在同一次 runloop迭代中会加重该次迭代的负担。

    回复
    0
  • 取消回复