我想检测UITextField上的touch 动作.

似乎"触碰内部"操作不是通过触碰文本字段内部触发的.

推荐答案

似乎"内部触碰"不适用于UITextField,但"触碰"有效.

因此,解决方案如下:

Swift 4.x

myTextField.addTarget(self, action: #selector(myTargetFunction), for: .touchDown)
@objc func myTargetFunction(textField: UITextField) {
    print("myTargetFunction")
}

Swift 3.x

myTextField.addTarget(self, action: #selector(myTargetFunction), for: UIControlEvents.touchDown)

@objc func myTargetFunction(textField: UITextField) {
    print("myTargetFunction")
}

Swift相关问答推荐

启用完整并发判断以及如何解决警告

绑定到可选值的非可选属性?'

如何在向照片添加文本时定义文本对齐、文本背景的Alpha和在文本之前添加图像

SwiftUI轨迹绘制怪异

如何在自定义视图中读取修改符子元素?

在SwiftUI中绘制形状的路径后填充形状

try 从闭包访问返回的字符串时出现无法将类型 '()' 的返回表达式转换为返回类型 'String'编译器错误

在扩展中创建通用排序函数

Xcode 15 Beta中如何使用@Observable?

RealityKit - 从中心zoom 模型

标有@MainActor 的函数中的异步调用是否也在主线程上运行?

swiftui中服务端图片如何设计view并赋予rotationEffect?

关于变量的视图的 SwiftUI 生命周期

如何更改 Picker 的边框 colored颜色

我们如何显示关于 UITextField 是 xCode Swift 的建议?

如何自己快速编写 Hashable 协议

如何在 GCD 中停止 DispatchWorkItem?

两个 Date 对象之间的所有日期 (Swift)

swift 3 如何获取明天和昨天的日期(注意特殊情况)新月或新年

使用 ARAnchor 插入 node 和直接插入 node 有什么区别?