0

我正在尝试从我的 Swift 应用程序中使用 InAppSettingsKit(通过 Swift 包依赖项到版本 3.3.3),并且我希望能够使用settingsViewControllerDidEnd委托回调来确定用户何时关闭了设置对话框,以便我可以检查对于某些可能需要用户进行额外操作的情况。

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

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

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

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

在此处输入图像描述

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

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

4

1 回答 1

3

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

当您以模态方式呈现新视图控制器时,堆栈中没有导航控制器,因此要使其正常工作,您需要使用以下内容包装控制器UINavigationController

func authenticationSettings(alert: UIAlertAction!) {
    let viewController = IASKAppSettingsViewController()
    viewController.delegate = self
    let navigationController = UINavigationController(rootViewController: viewController)
    self.present(navigationController, animated: true, completion: nil)
}
于 2021-08-17T06:18:45.057 回答