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)
}
我正在尝试在我的 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)
}