当显示UIAlertViewController时,Viewcontroller显示另一个视图控制器作为背景层?

时间:2017-01-27 05:50:11

标签: ios swift xcode uialertcontroller

我面临一个非常奇怪的问题。显示UIAlertController时,会显示当前视图控制器的背景图层中的上一个UIAlertController。我无法发布该屏幕的屏幕截图。

以下是显示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)


  }

由于

1 个答案:

答案 0 :(得分:0)

您必须在同一视图控制器中访问上述函数,其中vc的值也必须相同。

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

}