当应用程序返回前台时,视图控制器何时重绘或子视图重新铺设

时间:2015-02-10 03:12:31

标签: ios swift uiviewcontroller appdelegate

我为我的应用创建了基于Twitter的分页。一切都很完美,但由于某些原因,当我在第二页时,按下应用程序中的主页按钮,然后按应用程序图标重新进入,页面偏移20像素。

我不知道这是怎么回事,以及如何缓解这个问题。

我主要希望在iOS生命周期的某个地方可以缓解这个问题,但我不知道在哪里。

我在许多生命周期函数中完成println,包括我的MainViewController,它包含我的两个页面,实际页面和appDelegate。

仅在appDelegate中我才得到任何动作。这是enteringForeground,应该发生。

当我通过enterForeground回来时,我正在考虑抵消-20 dy,但我不确定如何。

以下是描述该问题的视频:https://vid.me/iqJ9

更新:事实证明,只有在用户已登录并绕过LoginRegisterViewController时才会发生这种情况。当用户已经登录时,我通过我AppDelegate中的代码检查,然后一起跳过LoginRegisterViewController并显示MainViewController。当用户通过LoginRegisterViewController登录并被发送到MainViewController时,不会发生此问题。我必须在下面的代码中做错事:

我的应用代表目前有此内容

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        if NSUserDefaults.standardUserDefaults().objectForKey("auth_token") != nil {

            var storyboard = UIStoryboard(name: "Main", bundle: nil)

            self.window?.rootViewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as? MainViewController
            self.window!.makeKeyAndVisible()
        }

        return true

    }

    ....

}

0 个答案:

没有答案