设置:
我确实有一个从UIView
派生的类UIDragInteraction
,该类已正确设置为拖动(拖放),但拖放对此问题无关紧要。这意味着view.addInteraction
已在视图UITextField
中注册,并且拖放操作正常(特定的拖动项和其他实现无关紧要)。
比方说,键盘显示在屏幕上(例如,因为选择了resignFirstResponder()
并已成为第一响应者),通过触摸和拖动对象来启动拖动交互总是会关闭键盘。撤消发生在拖动项目被提起并由用户移动之后。
我的问题:发生拖动交互时,如何避免关闭键盘?
进一步的调查研究:
我假设拖动交互以某种方式为UITextField
调用了resignFirstResponder
,但是即使通过在子类中重写DrawClosedCurve
来禁用/usr/include
并让替代者不执行任何操作也不会阻止键盘被关闭
答案 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
。