首页 > 解决方案 > swift如何让UILabel对齐到左上角

问题描述

我正在制作一个逐字打印问题的琐事应用程序,目前它从 UILabel 的中间开始并将前一个文本向上推。我试图找出是否可以在标签左上角开始第一个单词,然后继续打印其余的单词。

 func printQuestion ()
    {
        var str = quizbrain.getQuestionText()
        var arr = str.components(separatedBy: " ")
        
        var count = 0

        Timer.scheduledTimer(withTimeInterval: 0.25, repeats: true) { (t) in
            
            self.questionLabel.text! += " " + arr[count] 
            count += 1
            
            if count == arr.count {
                t.invalidate()
            }
            
            if self.hasBuzzed == true {
                t.invalidate()
            }
            
            
        }


标签: iosswiftuilabel

解决方案


我正在尝试找出是否可以在标签左上角开始第一个单词

不,你不能。这不是标签在文本更改时绘制的方式。

很酷的解决方法:从包含整个文本的标签开始,但使用属性字符串,以便文本与背景颜色相同(例如白底白字),因此不可见。在您的计时器中,一次将一个单词的颜色更改为黑色。

这样,您永远不会更改文本,只会更改颜色,因此文本不会随着每个单词的显示而移动。

在此处输入图像描述


推荐阅读