2017-01-27 18 views
2

私は非常に奇妙な問題に直面しています。 UIAlertControllerが表示され、現在のビューコントローラの背景レイヤーに戻ると、UIAlertControllerが表示されます。私はその画面のスクリーンショットを投稿できません。以下View Controllerは、UIAlertViewControllerが表示されているときに別のView Controllerを背景レイヤーとして表示しますか?

あなたは、VCの値も同じにする必要が同じビュー・コントローラの内部に上記の機能にアクセスする必要がありUIAlertController

func showActionAlertView(alertData:[String],vc:UIViewController,singleType:Bool) -> Void { 

    let Alert = UIAlertController(title: alertData.first, message: NSLocalizedString(alertData[1], comment: ""), preferredStyle: UIAlertControllerStyle.alert) 

    Alert.addAction(UIAlertAction(title: alertData[2], style: .default, handler: { (action: UIAlertAction!) in 
     self.delegate?.okAction(controller: vc) 


    })) 

    if !singleType 
    { 
     Alert.addAction(UIAlertAction(title: alertData.last, style: .cancel, handler: { (action: UIAlertAction!) in 
     print("Handle Cancel Logic here") 
     self.delegate?.cancelAction(controller: vc) 
     })) 

    } 

    vc.present(Alert, animated: true, completion: nil) 


    } 

おかげ

+0

のplsは小さな小文字で、常に変数/書き込みプロパティ - この場合は 'vc'は何(常に大文字最初の文字を持っていなければならない)クラス – muescha

+0

で非常に高速に混ざっていますか?表示されている現在のUIViewControllerとは異なるUIViewControllerですか? (つまり、 'showActionAlertView'は' vc'とは別のビューコントローラから呼び出されていますか?) –

+0

私はこれをいつでもviewcontrollerという関数から呼び出すことができます。コントローラ。 – iOSGuy

答えて

0

を示すコードです。

class OneVC: UIViewController{ 

    //Inside viewDidLoad 
    // value for vc should be given same as of present class name (OneVC) 
    showActionAlertView(alertData:[String], vc:OneVC, singleType:Bool) -> Void 

} 
+0

showActionAlertViewをcomman関数として作成して、警告コントローラ用に同じコードを書く必要がないため、これを行うことはできません – iOSGuy

関連する問題