我为我的应用创建了基于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
}
....
}