我通过这篇文章Getting and Setting Cursor Position of UITextField and UITextView in Swift,我遇到的问题是选择文字。
我按照推荐帖子中的示例进行操作,但仍然没有看到任何结果。 我创建了一个基本的SingleViewApplication,里面只有一个UITextField。
TextD在viewDidLoad
中设置为“foobar” override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
textField.text = "foobar" }
在@IBAction编辑开始我尝试使用本文中描述的方法选择整个文本,见下文。
@IBAction func EDB(_ sender: UITextField) {
let startPosition = textField.beginningOfDocument
let endPosition = textField.endOfDocument
textField.selectedTextRange = textField.textRange(from: startPosition, to: endPosition )
}
我跳的话会选择textField中的所有文字。
没有。
我放了两个断点来显示我的textField的选定范围 让startPosition .... 最后一行 那些断点执行po textField.selectedTextRange!并继续。
它确认我有效地改变了textField的范围
< _UITextKitTextRange:0x7fa42bb0d140> (6,0)F
< _UITextKitTextRange:0x7fa42b922640> (0,6)F
然而,UI上没有可见的选择,光标停留在textField的末尾。
我缺少什么让UI显示我选择的范围?
基本上我想在用户输入版本时预先选择我的UItextField的特定范围的文本。
答案 0 :(得分:0)
您可以在按钮操作功能中尝试此代码。
textfield.selectAll(textfield)
希望能帮到你!
答案 1 :(得分:0)
尝试将选择范围包装到另一个方法中并延迟调用它。我不确切地知道你的情况,但在少数情况下,小延迟帮助了我。
这是Swift 2版本:
public boolean deleteProduct(String productName) {
//Now how to delete the product using hibernate
//like "delete from DB.product where name=productName"
}