2016-04-27 16 views
1

私のアプリケーションのストーリーボードに、別のUIViewController(親)の中にロードするUIViewController(子)があります。ボタンクリックイベント(UIButton TouchUpInsideアクション) - IOS/Swift

これは、親ビューコントローラ内でナビゲーションバーを含む親ビューコントローラのすべてのサブビューに子ビューコントローラをロードするために使用したコードです。

let window: UIView? = UIApplication.sharedApplication().keyWindow; 

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil); 
let viewController: UIViewController = storyboard.instantiateViewControllerWithIdentifier("CPBackConfirmMessageUIView"); 

window?.addSubview(viewController.view); 

これは、彼らが私のストーリーボードにどのように見えるかです

enter image description here

これは、子ビューコントローラは内部側の親ビュー

enter image description here

にロードされた後、それがどのように見えるかですあなたが見ることができるように、子ビューコントローラが2つのボタンがあります。私は、(TouchUpInside)アクションをthosに追加しましたeボタンが子ビューのコントローラクラス内にあり、動作していません。しかし、ViewDidLoadメソッドは正常に動作しています(私はいくつかのアニメーションを追加しています)。

私はこれらのボタンにアクションを書き込んで、それを動作させる方法を教えてもらえますか、ここで何か間違っているのかどうか教えてください。どんな助けも高く評価されます。

編集: これは私が私のIBAction

@IBAction func abc(sender: AnyObject) {  
    print("Worked"); 
} 
+0

あなたが電話した 'addChildViewController'方法を? – Khuong

+0

いいえ、私はそれを私のシナリオとどのように使うことができますか? – GMHSJ

+0

このウィンドウをお試しくださいか?.bringSubviewToFront(viewController.view) – Kalpesh

答えて

5

がプロパティとして子供viewControllerを使用してみてください書いた方法です。現在の実装では、viewControllerオブジェクトは、メソッドが完了するとすぐに解放されるべきです。プロパティは、ボタンを押したときにviewControllerオブジェクトが生きていることを確認します。

ので、代わりの:

let viewController: UIViewController = storyboard.instantiateViewControllerWithIdentifier("CPBackConfirmMessageUIView"); 

はこれを試してみてください:

class YourParentViewController: UIViewController { 

    var viewController: UIViewController! 

func someMethod() { 
    let window: UIView? = UIApplication.sharedApplication().keyWindow; 

    let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil); 
    viewController = storyboard.instantiateViewControllerWithIdentifier("CPBackConfirmMessageUIView"); 

    window?.addSubview(viewController.view); 
} 

} 
+0

「子ビューコントローラをプロパティとして使用する」とはどういう意味ですか?申し訳ありませんが、私はそれを取得していません。 – GMHSJ

+0

答えを更新しました –

+0

あなたは天才です。出来た。ありがとう。 – GMHSJ

関連する問題