IOS:拖放交互而不隐藏键盘

时间:2018-11-22 20:40:09

标签: ios swift drag-and-drop

设置:
我确实有一个从UIView派生的类UIDragInteraction,该类已正确设置为拖动(拖放),但拖放对此问题无关紧要。这意味着view.addInteraction已在视图UITextField中注册,并且拖放操作正常(特定的拖动项和其他实现无关紧要)。

比方说,键盘显示在屏幕上(例如,因为选择了resignFirstResponder()并已成为第一响应者),通过触摸和拖动对象来启动拖动交互总是会关闭键盘。撤消发生在拖动项目被提起并由用户移动之后。

我的问题:发生拖动交互时,如何避免关闭键盘?

进一步的调查研究
我假设拖动交互以某种方式为UITextField调用了resignFirstResponder,但是即使通过在子类中重写DrawClosedCurve来禁用/usr/include并让替代者不执行任何操作也不会阻止键盘被关闭

2 个答案:

答案 0 :(得分:0)

说,在您的情况下,您选择的UITextField中有一个UIScrollView。您可以从相应的keyboardDismissMode访问UIScrollView并将其值设置为.none

示例

在您的UIViewController内,声明对UIScrollView的引用并通过情节提要进行连接。

@IBOutlet weak var scrollView: UIScrollView!

然后,在viewDidLoad()方法内部,按照上面的声明设置属性。

override func viewDidLoad() {

    super.viewDidLoad()

    // Configure UIScrollView
    self.scrollView.keyboardDismissMode = .none

}

答案 1 :(得分:0)

用于启用splitView和多任务到自定义视图(UKWebView)拖放交互

可用的完整来源和文档 http://blogs.specialapps.in/SplitView_MultiTasking