如何在Swift中从Framework(SDK)中显示View Controller?

时间:2017-09-15 09:06:45

标签: ios objective-c swift sdk frameworks

我在Objective C中拥有自己生成的Framework(SDK)。这在我的Swift iOS项目中使用。我想点击Button(在App Controller中),从我的SDK中调用我的Iinitial控制器 CCInitViewController (参见第一张图片)(参见第二张图片)。

那么我的代码中想要做什么样的更改?或者我必须在SDK的.m文件中编写的任何方法在我的项目中调用它。

第一张图片:

My App Controller Contains Pay Button

第二张图片:

Image

我尝试了以下代码:

@IBAction func payClicked(_ sender: Any)
{
    let cont = CCInitViewController(position: self)
    self.present(cont!, animated: true, completion: nil)
}

它打开我的控制器(CCInitViewController),但没有任何内部内容显示(如文本字段和下一个按钮)其空白。

2 个答案:

答案 0 :(得分:0)

我制作SDK的所有时间我都有一个Main类,它通常以与Framework相同的名称命名,它有一个start方法可以打开Framework的第一个视图(就像你启动一个" subapp& #34;在您的应用内)

答案 1 :(得分:0)

当用户初始化框架主类时,可以使用UIViewController,并且可以在应用程序中保留该viewcontroller,以在该用户的viewController上显示框架的控制器。我已经这样做了,甚至在mopub这样做。

/// user side code should look like this

let frameWork = MyFramework(controller: self)

/// your framework should look like this.

    class MyFramework {

         var rootController: UIViewController?

         init(controller: UIViewController) {
               self.rootController = controller
         }

         func showController() {
             self.rootController?.presnet(myFrameworkController, true, nil)
         }
    }

我希望你明白我的观点。