应用程序在转换过程中间歇性冻结(2个顶级UIWindows)

时间:2016-09-20 09:33:53

标签: ios multithreading uiviewcontroller ios-animations

我的应用程序在转换中间歇性地冻结。在管理调试模式时将其冻结,我们暂停并截取屏幕截图。一些说明:

  • 在冻结状态下,CPU仍然对点击做出反应,所以它仍然以某种方式响应
  • 看着线程,似乎没有infinte循环,重函数,或者无论如何。

然而,看着UI ViewHierarchy浮现出一个有趣的东西 - 有2个顶级UIWindows,其中前一个完全为空,按钮一个被过渡视图覆盖。

这里可能的罪魁祸首是什么?我的代码包含在屏幕截图下方:

  

线程似乎什么都不做   enter image description here

     

2 UIWindow中的第一个(空白)   enter image description here

     

2 UIWindow中的第二个   enter image description here

  // view controller
  func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let question = dataAccessor.objectAtIndexPath(indexPath)
    delegate?.feedViewControllerDidSelect(self, question: question)
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
  }

  // delegate for viewcontroller
  func feedViewControllerDidSelect(viewController: FeedViewController, question: Question) {
    let questionDetailViewController = QuestionDetailViewController.create(question, delegate: self)
    navigationController.pushViewController(questionDetailViewController, animated: true)
  }


  // Question Detail View
  static func create(question: Question, delegate: QuestionDetailViewControllerDelegate?) -> QuestionDetailViewController {
    let vc = StoryboardScene.QuestionDetail.instantiateQuestionDetailVC()
    vc.question = question
    vc.delegate = delegate
    return vc
  }

0 个答案:

没有答案
相关问题