如何在可扩展的UILabel中添加“更多”和“更少”文本指示器?

时间:2016-03-11 06:49:54

标签: ios swift uilabel

我是IOS学习者。我正在做一个示例项目,其中我需要UILabel中的“更多”和“更少”文本指示符,我已根据文本内容添加了SingleTapGestureRecognizer来扩展和收缩。文本内容来自API并且是动态的。

Required output

Required output

这里我附上了我所需输出的屏幕截图。(屏幕截图来自android)。

除了约束(无自动布局)之外,我还以编程方式调整UILabel的大小。用于点击手势的代码是

viewDidLoad()

let singleTapGestureRecognizer = UITapGestureRecognizer(target: self, action: "singleTapped")
        singleTapGestureRecognizer.numberOfTapsRequired = 1
        singleTapGestureRecognizer.enabled = true
        singleTapGestureRecognizer.cancelsTouchesInView = false

        lblAmneties.addGestureRecognizer(singleTapGestureRecognizer)

方法是

var amnetiesClicked = false
func singleTapped()
{
    if(amnetiesClicked == false) { amnetiesClicked = true }
    else { amnetiesClicked = false }
    if(amnetiesClicked == true)
    {
        Amneties.sizeToFit()
        self.display()
    }
    else
    {
        if(self.Amneties.frame.size.height > 70 )
        {
            self.Amneties.frame.size.height = 70
            self.display()
        }
    }
}

此处display()是我以编程方式对齐视图的所有内容的方法。

我不知道该怎么做。 我使用xcode 7.1.1 Swift 2.0

1 个答案:

答案 0 :(得分:0)

我使用TTTAttributed Label来做https://github.com/TTTAttributedLabel/TTTAttributedLabel 它有一个预定义的方法来做到这一点。