InAppSettingsKit 完成按钮未显示在视图控制器上

InAppSettingsKit Done button does not show up on view controller

我正在尝试在我的 Swift 应用程序中使用 InAppSettingsKit(通过 Swift 包依赖版本 3.3.3),我希望能够使用 settingsViewControllerDidEnd委托回调以确定用户何时关闭设置对话框,以便我可以检查某些可能需要用户执行其他操作的条件。

如果我将视图控制器推到导航控制器上,就会显示“完成”按钮,但代码表明此方法不会触发“完成”按钮委托回调,所以我一直在尝试使用 present 方法来显示视图控制器。

这是我用来实例化和显示设置视图控制器的代码:

func authenticationSettings(alert: UIAlertAction!) {
    let viewController = IASKAppSettingsViewController()
    viewController.delegate = self
    self.present(viewController, animated: true, completion: nil)
}

这是我得到的,请注意没有完成按钮:

我试过这种卡片呈现方式,也试过全屏呈现方式,都没有用。

我尝试进入 Objective-C 代码,据我所知,正在创建和添加 UIBarButtonItem 导航项。有人对接下来要尝试什么有任何想法吗?

您可能已经在源代码中注意到,UIBarButtonItem 添加到 navigationItem。仅当视图控制器是导航控制器堆栈的一部分时才使用此项

当您以模态方式呈现新视图控制器时,它在堆栈中没有导航控制器,因此要使其正常工作,您需要用 UINavigationController:[=14= 包装您的控制器]

func authenticationSettings(alert: UIAlertAction!) {
    let viewController = IASKAppSettingsViewController()
    viewController.delegate = self
    let navigationController = UINavigationController(rootViewController: viewController)
    self.present(navigationController, animated: true, completion: nil)
}