【问题标题】:How to keep input accessory view up when presenting view controller呈现视图控制器时如何保持输入附件视图
【发布时间】:2019-04-30 18:47:17
【问题描述】:

我有一个容器视图,它被设置为我的视图控制器的输入附件视图。每当我呈现模态视图控制器时,输入附件视图就会消失。

我尝试使用下面的代码,当我展示模态视图控制器时该代码有效。但是,该视图控制器显示了一个图像选择器控制器,并且在显示该图像选择器控制器后,我收到错误“键盘无法显示视图控制器”。有没有办法为基本视图控制器顶部显示的任何视图控制器保持输入附件视图打开。

let rootViewController: UIViewController = (UIApplication.shared.windows.last?.rootViewController)!
rootViewController.present(addVideoController, animated: true, completion: nil)

【问题讨论】:

    标签: ios swift inputaccessoryview


    【解决方案1】:

    我认为没有办法通过视图层次结构保持 inputAccessoryView 处于活动状态 - 将视图推送到 navigationController 堆栈或模态显示不会使根的 inputAccessoryView 从我的经验中可见。这是因为inputAccessoryViewUIViewController 类的成员,而不是窗口本身——而您正在激活的新UIViewController 没有inputAccessoryView

    我相信您需要将inputAccessoryView 添加到您以模态方式呈现的UIViewController 类中。您可以按照与根视图控制器的类完全相同的方式进行设置。

    // call this in your root view controller that has the inputAccessoryView currently displayed
    let addViewController = YourViewControllerClass()
    modalViewController.inputAccessoryView = self.inputAccessoryView
    self.present(addViewController, animated: true, completion: nil))
    

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 1970-01-01
      • 2018-03-09
      • 1970-01-01
      相关资源
      最近更新 更多