首頁  >  問答  >  主體

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中文网2741 天前717

全部回覆(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
  • 取消回覆