ios 如何在swift 3中创建一个视图控制器作为初始屏幕?[副本]

gorkyyrv  于 2023-08-08  发布在  iOS
关注(0)|答案(1)|浏览(124)

此问题在此处已有答案

How to assign class to the Splash screen in Swift?(4个答案)
六年前就关门了。
我正在尝试使用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
}

字符串

hkmswyz6

hkmswyz61#

尝试将视图控制器设置为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
    }

相关问题