Yes, its possible to write ViewController for the launch screen,
1) Create viewController file, create Xib for the same.
2) In the RootViewController's (say HomeViewController or SignInViewController) ViewDidLoad(),
2a) Create object of SplashViewController.
2b) Add view of splashViewController to your HomeViewController.
let objSplashVC = yourCode to create object of SplashVC
self.view.addSubView(objSplashVC.view);
c) After 2 or 3 seconds or once your retrieve data on Web-Service call, you can remove that view, by calling hide() method of SplashViewController
hide(){
self.view.removeFromSuperView();
}
Note : You have to add background image on SplashViewController as same as launchImage. So transitions will go smoothly.