iph*_*aaw 19 uitextfield swift
你如何以编程方式选择Swift文本字段中的所有文本?
var textField:UITextField = UITextField()
textField.frame = CGRectMake(2, 25, 200, 20)
textField.text = "hello"
textField.font = UIFont(name: "Verdana", size: 12)
textField.textColor = UIColor.blackColor()
textField.backgroundColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)
或者至少使文本立即可编辑?
谢谢
安德鲁
B.S*_*.S. 33
它的工作方式与Objective-C相同:
textField.becomeFirstResponder()
textField.selectedTextRange = textField.textRange(from: textField.beginningOfDocument, to: textField.endOfDocument)
Run Code Online (Sandbox Code Playgroud)
Al_*_*___ 15
textField.becomeFirstResponder()
textField.selectAll(nil)
Run Code Online (Sandbox Code Playgroud)
如果您需要它与 SwiftUI TextField 一起使用,您可以使用Introspect:
import Introspect
private class TextFieldObserver: NSObject {
@objc
func textFieldDidBeginEditing(_ textField: UITextField) {
textField.selectAll(nil)
}
}
struct ContentView {
private let textFieldObserver = TextFieldObserver()
var body: some View {
TextField(...)
.introspectTextField { textField in
textField.addTarget(
self.textFieldObserver,
action: #selector(TextFieldObserver.textFieldDidBeginEditing),
for: .editingDidBegin
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,您不应覆盖,textField.delegate因为 SwiftUI 设置了自己的委托,该委托应该对您隐藏。
| 归档时间: |
|
| 查看次数: |
12895 次 |
| 最近记录: |