使文本在UITextView中一次显示一个字符

时间:2016-09-26 03:07:57

标签: ios swift cocoa-touch uikit uitextview

我正在制作一个小小的终端,我希望添加文本的能力,以便输入"键入"一次一个角色。现在我正在做的是循环遍历字符串,插入一个字符,然后调用Thread.sleep(forTimeInterval :)。但是,正如您在下面的gif中看到的那样,它不会一次打印出一个字符,它只是等待整个for循环结束然后显示文本。每次循环后,我需要做些什么来更新显示? (我试过setNeedsDisplay:,但我认为没有做任何事情。) 编辑:这里是代码(控制台是UITextView):

func appToConsole(input:ProgramResponse) {
    for line in input {
        var textProgress = self.token
        var oldText = console.text ?? ""
        for char in line.text.characters {
            textProgress.append(char)
            console.text = textProgress + oldText
            Thread.sleep(forTimeInterval: TimeInterval(line.textSpeed))
        }
        textProgress += "\n"
        console.text = textProgress + oldText
    }
}

enter image description here

0 个答案:

没有答案