スワイプアウトメニューを作成するのにSWRevealを使用しています。閲覧前のスウィフトオブザーバ
アプリが読み込まれると、アプリ内の他のページにボタンがあるホームページが表示されます。ボタンが押されると、セグが実行されます。&メニューが更新され、新しく選択されたページがハイライトされ、次回にメニューが引き出され、ユーザーが現在表示しているページを示します。
私は以下のようにメニューを更新するためにオブザーバーを使用しています。スワイプメニューがロードされてからボタンが押されると、コードは正常に機能します。
しかし、スワイプメニューとしてホームページが最初に読み込まれたときには、オブザーバーはまだ作成されていません。
私の質問:ホームページが読み込まれてからオブザーバーが作成されると、スワイプメニューを初期化する方法はありますか?または私が見ていないこれに近づく方法がありますか?
swipeMenu.swift(通知を受け取る):
override func viewDidLoad(){
NotificationCenter.default.addObserver(self, selector: #selector(self.changeGiveaway(notification:)), name: Notification.Name("changeGiveaway"), object: nil)
}
func changeGiveaway(notification: Notification){
print("Change giveway was called")
homeShadow.isHidden = true
yanaLiveVideoShadow.isHidden = true
yanaChatShadow.isHidden = true
yanaShopShadow.isHidden = true
yanaProfileShadow.isHidden = true
horoscopesShadow.isHidden = true
fortuneTellerShadow.isHidden = true
dailyGiveAwayShadow.isHidden = false
}
home.swift(ポスト通知):
@IBAction func dailyGiveAway(_ sender: Any) {
NotificationCenter.default.post(name: Notification.Name("changeGiveaway"), object: nil)
performSegue(withIdentifier: "giveAway", sender: self)
}