【问题标题】:InAppSettingsKit Done button does not show up on view controllerInAppSettingsKit 完成按钮未显示在视图控制器上
【发布时间】:2021-08-16 17:54:43
【问题描述】:

我正在尝试从我的 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 导航项。有人对接下来要尝试什么有任何想法吗?

【问题讨论】:

    标签: ios swift inappsettingskit


    【解决方案1】:

    您可能已经在源代码中注意到,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)
    }
    

    【讨论】:

    • 是的,这就是问题所在,感谢您的快速响应。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 2016-06-07
    • 2011-03-26
    • 2016-02-09
    • 2017-01-01
    相关资源
    最近更新 更多