我正在尝试使用 swift 3 从故事板创建一个视图控制器作为我的应用程序中的启动屏幕。我尝试在使用“启动图像”加载启动画面时实现与启动屏幕相同的效果。由于我在启动屏幕中有一个动画,我希望使用视图控制器作为 Swift 3 中的启动屏幕。如何实现这一点?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "splashScreen")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
尝试将视图控制器制作为具有启动屏幕的 rootViewController,并在显示该视图控制器 2-3 秒后。推送/展示您的初始 ViewController。
你可以这样设置splash ViewController :-
self.window?.rootViewController = splashVC
在splashVC的ViewDidLoad()中使用定时器或延迟2-3秒后。显示应用程序的主视图控制器。
//MARK:- Life Cycle Methods
override func viewDidLoad() {
super.viewDidLoad()
Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.splashTimeOut(sender:)), userInfo: nil, repeats: false)
// Do any additional setup after loading the view.
}
func splashTimeOut(sender : Timer){
AppDelegate.sharedInstance().window?.rootViewController = yourCustomViewController
}
为了方便起见,在 Appdelegate 中添加此方法:-
class func sharedInstance() -> AppDelegate{
return UIApplication.shared.delegate as! AppDelegate
}