关于快速删除字符串
Posted
技术标签:
【中文标题】关于快速删除字符串【英文标题】:Regarding delete a string in swift 【发布时间】:2019-12-13 09:15:53 【问题描述】:我不确定为什么,但无论我尝试什么,即使我检查它并看到与要删除的字符相同数量的删除字符,这似乎也不会删除文本字段中的整个文本。它似乎是随机的,每次迭代删除不同数量的字符。
extension XCUIElement
/**
Removes any current text in the field before typing in the new value
- Parameter text: the text to enter into the field
*/
func clearAndEnterText(text: String)
guard let stringValue = self.value as? String else
XCTFail("Tried to clear and enter text into a non string value")
return
let deleteString = String(repeating: XCUIKeyboardKey.delete.rawValue, count: stringValue.count)
self.typeText(deleteString)
self.typeText(text)
【问题讨论】:
您可以轻松做到。self.typeText.text = ""
@Putte 谢谢。但是,它不起作用。它将“”附加到文本字段中的现有字符串。
那么,您为什么要使用 XCUIElement?你从中得到什么?我刚刚意识到 typeText() 是一个内置属性,对吧?
我从链接***.com/questions/32821880/…得到这个代码
有时会按预期删除所有字符,但有时会留下 2 或 3 个字符未删除。
【参考方案1】:
/*! * Sends a tap event to a central point computed for the element. */ - (void)tap; /*! * Sends a double tap event to a central point computed for the element. */ - (void)doubleTap;
因此,如果您发送 tap
但文本比控制中心点长,您将只删除点击点的左侧部分。
Try to use instead doubleTap
, which as expected must select all text (exception, when selection will be disabled by some reason).
【讨论】:
对不起!我现在已经编辑了代码部分。我根本没有使用 tap() 功能。我的项目是针对 appleTv 的,它没有点击功能。如果没有点击本身,我有时可以清除完整的文本。注意:我一直在传递相同的文本进行搜索以上是关于关于快速删除字符串的主要内容,如果未能解决你的问题,请参考以下文章