AppDelegate에서 팝업을 표시하는 메모.

4273 단어 XcodeSwift2Storyboard
미리 Main.storyboard에,
팝업용 HintDialoViewController 클래스를 가진 ViewController를 준비해 두고,
그것의 스토리 보드 ID에 "idHintDialoViewController"라고 넣어 둡니다.



AppDelegate.swift

// 〜 省略 〜

// 何かのコールバックでポップアップ出す等(admob動画メディエーションの視聴完了等)
func hogeCallback(){
        stampDetailPopup(hoge_int)
}

// 〜 省略 〜

// 自作ダイアログ表示
func stampDetailPopup(stampId: Int){


        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyboard.instantiateViewControllerWithIdentifier("idHintDialogViewController") as! HintDialogViewController

        vc.stampId = stampId
        vc.view.alpha = 0.0

        // アニメーション
        UIView.animateWithDuration(0.3, delay: 0.0, options: .CurveEaseInOut, animations: {() -> Void in

            vc.view.alpha = 1.0 //透過度をアニメーションで変化

            }, completion: {(finished: Bool) -> Void in

        })


        // 重ねて表示
        self.window!.rootViewController?.addChildViewController(vc)
        self.window!.addSubview(vc.view!)
}

〜 省略 

이제 지정된 ViewController가 팝업으로 표시됩니다!

요점은 이것,,, 땀
self.window!.rootViewController?.addChildViewController(vc)
self.window!.addSubview(vc.view!)

좋은 웹페이지 즐겨찾기