代码之家  ›  专栏  ›  技术社区  ›  Mario Uher

显示视图控制器时出现奇怪的错误

  •  0
  • Mario Uher  · 技术社区  · 6 年前

    window!.rootViewController!.present(viewController, animated: true) 在我的 AppDelegate . 这在所有iPhone机型上都可以正常工作,但是在任何iPad上都会发生以下情况:

    broken

    working

    将背景颜色更改回透明默认值至少会删除白色背景,但是视图仍然从左下角设置动画,这是我不希望看到的。顺便说一下,在Interface Builder中更改视图会破坏所有iPhone上的动画。把它换回来可以修复它,但又会损坏所有的ipad。

    func newState(state: State) {
      switch (previousState.session, state.session) {
      case (.loading, .notSignedIn), (.signedIn, .loading):
          (window!.rootViewController! as! UITabBarController).selectedIndex = 0
    
          let viewController = storyboard.instantiateViewController(withIdentifier: "SignInViewController")
          window!.rootViewController!.present(viewController, animated: true, completion: nil)
    
      default:
        // more stuff
        break
      }
    }
    

    编辑 :添加了实际代码。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mario Uher    6 年前

    我修好了!

    问题是有一个观察者在场 keyboardWillShowNotification becomeFirstResponder viewWillAppear 该控制器的设计方法。

    移动 进入之内 viewDidAppear 解决了所有问题!