Xcodeでは、Interface Builderを介して.xib
ファイルに起動画面を作成できます。通常のView Controllerのように、xibでいくつかのコードを実行することは可能ですか?アプリの起動中に異なるテキスト/画像/などを設定できると便利です。
いいえ、できません。
起動画面が表示されているとき、アプリは読み込み状態になります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
でさえ、起動画面が表示されている間は完全には実行されません。
したがって、アプリにアクセスできないため、この時点でコードを実行できないことは明らかです。
ここで同じことをしようとしていました。 :)
「今日はよさそうだ」、「今日は金曜日、素晴らしい日」など、アプリを起動するたびに少し動的な挨拶テキストと画像を作成するアプリのいくつかが本当に好きでした。とてもかわいい。
私はいくつかの検索を行いましたが、その方法は以下のとおりです(私のコードはXcode 7で、launchscreen.xibファイルがあります)
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var customizedLaunchScreenView: UIView?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
application.statusBarHidden = true
// customized launch screen
if let window = self.window {
self.customizedLaunchScreenView = UIView(frame: window.bounds)
self.customizedLaunchScreenView?.backgroundColor = UIColor.greenColor()
self.window?.makeKeyAndVisible()
self.window?.addSubview(self.customizedLaunchScreenView!)
self.window?.bringSubviewToFront(self.customizedLaunchScreenView!)
UIView.animateWithDuration(1, delay: 2, options: .CurveEaseOut,
animations: { () -> Void in
self.customizedLaunchScreenView?.alpha = 0 },
completion: { _ in
self.customizedLaunchScreenView?.removeFromSuperview() })
}
return true
}
// other stuff ...
}
customizedLaunchScreenViewここで、表示したいこと、テキスト、画像、アニメーションなどを実行します。
起動の最後に、アルファ値の変更を使用してこのカスタマイズされたUIViewをフェードアウトし、完全に削除します。
いかがですか?絶対に大好きです!
それが役に立てば幸い。
私もこれを達成しようとしていました。私は次のことを試しました、それは数秒の遅延を与えますが、私にとってはうまくいきます。
それが役に立てば幸い!