如何在app loading上选择文字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在app loading上选择文字?相关的知识,希望对你有一定的参考价值。
标题真的说明了一切。我尝试通过以下方式从viewDidLoad中选择文本:
override func viewDidLoad() {
...
guessField.text = " "
guessField.becomeFirstResponder()
guessField.selectedTextRange = guessField.textRange(from: guessField.beginningOfDocument, to: guessField.position(from: guessField.endOfDocument, offset: -3)!)
}
但是,这不起作用;光标刚出现在最后一个位置。有没有人有想法解决这个问题?
答案
一旦您的视图加载,它看起来需要一些时间。尝试以下解决方案
首先在你的班级中添加以下功能:
func delayWithSeconds(_ seconds: Double, completion: @escaping () -> ()) {
DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
completion()
}
}
然后在viewWillAppear
方法中使用它,如下所示:
override func viewWillAppear(_ animated: Bool) {
delayWithSeconds(1) {
self.guessField.text = " "
self.guessField.becomeFirstResponder()
self.guessField.selectedTextRange = self.guessField.textRange(from: self.guessField.beginningOfDocument, to: self.guessField.position(from: self.guessField.endOfDocument, offset: -3)!)
}
}
我刚把它推迟了1秒。
以上是关于如何在app loading上选择文字?的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI List 如何识别在 macOS 上选择了哪些项目
如何在同一列上选择一些值,然后将剩余值作为 sql 中的新列