swift如何让UILabel对齐到左上角

Posted

技术标签:

【中文标题】swift如何让UILabel对齐到左上角【英文标题】:swift how to get UILabel align to top left 【发布时间】:2020-11-29 03:52:06 【问题描述】:

我正在制作一个逐字打印问题的琐事应用程序,目前它从 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()
            
            
            
        


【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

添加了一个截屏视频,显示我的解决方法想法很好。

以上是关于swift如何让UILabel对齐到左上角的主要内容,如果未能解决你的问题,请参考以下文章

将图标与多行 UILabel 的左上角对齐

UILabel 文本对齐不起作用(Swift 4)

UIlabel居上对齐遇到的问题和解决方法以及其他相关资料

如何在 UITableViewCell 中左对齐或右对齐 UILabel

如何使自定义单元格中的 UILabel 显示保存在 UITableView 中的更改

Swift环境下实现UILabel居上 居中 居下对齐