swift - 是否可以在 swift 中以编程方式按 ENTER?
问题描述
我正在快速制作打字游戏。但有一些问题。首先这是我的代码。
if let input = textField.text{
//비교를 위한 글자 분해한 배열
let whatYouHaveToWrite = Text.init().textArray[a]
let whatYouAlreadyWrite = input
let attr = NSMutableAttributedString(string: viewLabel.text!)
for i in 0...Array(whatYouHaveToWrite).count-1{
//한글자 맞았는지 인식하는 것
if i <= Array(whatYouAlreadyWrite).count-1{
if Array(String(whatYouAlreadyWrite))[i] == Array(whatYouHaveToWrite)[i]{
attr.addAttribute(.foregroundColor, value: UIColor.systemBlue, range: NSRange(location:i,length:1))
ENTER()
}
//한글자 틀렸는지 인식하는 것
if i>0 {
if Array(String(whatYouAlreadyWrite))[i-1] != Array(whatYouHaveToWrite)[i-1]{
attr.addAttribute(.foregroundColor, value: UIColor.systemRed, range: NSRange(location:i-1,length:1))
}
}
} else{ break }
}
}
例如,当您键入“사랑”时,过程是这样的。“ㅅ”->“사”->“살”->“사랑”,如果我输入“사”,你可以在我的代码中看到“사”的颜色变为蓝色。但问题是当您输入“살”以输入“사랑”时。因此,当我键入“사”时,我想在“if Array(String(whatYouAlreadyWrite))[i] == Array(whatYouHaveToWrite)[I]”中以编程方式按下 ENTER,并且有一些方法可以以编程方式触发按下输入?
解决方案
如果按 enter 只是意味着关闭您可以使用的键盘textField.resignFirstResponder()
。
您可以使用 textField 委托方法来跟踪用户输入的每个字符:textField(_:shouldChangeCharactersIn:replacementString:)。
推荐阅读
- python - 遍历 pandas 数据框中的 datetime64 列
- powershell - Powershell:不正确的返回为最高值
- sonarqube - 在向 ActiveMQ 发送消息的情况下删除 Thread.sleep()
- android - Android 下载文件到内部应用空间
- c# - 你如何获得远程计算机的主机名?
- r - 使用系统和回声未提供正确的文本
- java - 在 NestedScrollView 中隐藏滚动视图并取而代之
- php - 更新今天 created_at 的记录 - Laravel
- mysql - 带有 MySql 提供程序的实体框架核心上的许多“包含”
- python - 模拟新行,Python比SAS慢很多,如何加速?