|
2
|
| Ankit Sachan · 技术社区 · 16 年前 |
|
|
1
6
默认情况下,UIScrollView会延迟向其子视图发送触摸事件,直到它能够确定触摸是否会导致滚动。你可以通过点击并按住你的文本字段来证明这一点——触摸开始会在片刻后触发。
如果您想在这两个方面都做到最好(用户可以从任何地方滚动,并且子视图可以响应触摸),您可以覆盖CustomScrollView中的hitTest方法,并向已触摸的子视图发送消息。以下是CustomScrollView中的实现:
下面是CustomTextField的实现:
这是一个黑客,因为它不是真正处理触摸(touchsbegind、touchsended等),但它可以工作。 |
|
|
2
3
我还实现了一个CustomUIScrollView作为UIScrollView的子类,并重写了TouchesBegind方法:
在interfacebuilder中,我将scrollview对象的自定义类设置为CustomUIScrollView,并在“触摸”第一部分中禁用可取消的内容触摸。现在,我可以使用UITextField的ViewController中的touchesbeent方法,在检测到键盘外的触摸时,让键盘消失。
|
|
|
David · 输入文本时UITextField位置重置 8 年前 |
|
|
user9323924 · Xcode中的占位符文本未显示在文本字段中 8 年前 |
|
|
hg56 · IQkeyboardmanager订单问题 8 年前 |