其中一个ViewController执行以下语句
UIViewController *vc = [[UIViewController alloc] init];
[self.navigationController pushViewController:vc animated:false];
将要被push的ViewController的viewDidLoad方法中,我init了一个textview和一个button,并且addSubview了,然后我在viewWillAppear方法中设置了他们的一点属性,用Masonry做了布局。
然后在第一次push的时候会产生卡顿,请问有什么方法避免?
首先要清除卡顿是发生在哪里 用Time Profiler看看
或者你把代码贴出来
在跳转过去的控制器中设置背景色了么
需要加载的东西太多 注意自己的代码逻辑 卡顿的原因太多你需要找出问题进行针对性的优化
可以将跳转的控制器view设置一个白色背景
跳过去的viewcontroller 的view backgroundcolor 不能为clearcolor
怎么初始化了一个类的实例呢?你要跳转的那个类的名字不会就叫做UIViewController.h吧?
有可能是下一个页面的背景颜色问题,我们以前遇到过,是不是有潜在设置透明度?
写了这么点东西,会卡?有可能是backgroundColor的问题,最好填代码看看
最好push出的控制器 设置背景颜色 不然会造成渲染导致卡顿
在view did appear里做吧。viewwillappear和转场动画都在同一次runloop迭代中,autolayout本身很耗性能的。把布局和动画都放在同一次 runloop迭代中会加重该次迭代的负担。