在Phonegap应用程序上使用Swift获取当前的UIViewController

时间:2015-03-14 05:32:04

标签: ios cordova swift uiviewcontroller

我是iOS应用程序开发的新手,我正在考虑在Cordova应用程序上使用Swift。

我目前正在编写一个需要当前UIViewController的插件,以便使用UIAlertController。

由于视图控制器需要显示UIAlertController实例,如何在Cordova应用程序中获取它?或者我是否必须创建一个新的UIViewController实例?

这是我正在使用的代码:

import Foundation

@objc(ActionSheet) class ActionSheet : CDVPlugin {
  func show(command: CDVInvokedUrlCommand) {
    var message = command.arguments[0] as String

    let alertController = UIAlertController(title: "Hey AppCoda", message: "What do you want to do?", preferredStyle: .Alert)

    let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
    alertController.addAction(defaultAction)

    // Where to get viewController?

    viewController.presentViewController(alertController, animated: true, completion: nil)

  }
}

提前致谢。

2 个答案:

答案 0 :(得分:1)

CDVPlugin具有viewController属性,因此您的ActionSheet类可以访问它。你的代码对我来说很好。这是我在运行它并从js调用show方法时看到的。

enter image description here

你有任何问题吗?

答案 1 :(得分:0)

您必须传递viewcontroller,因此您必须将方法更新为

func show(command: CDVInvokedUrlCommand, inViewController:UIViewController) {...}

编辑:

import UIKit