UiLabel文本从ViewController Swift中传出

时间:2018-05-31 06:57:34

标签: uilabel swift4

因为我是新手,而且很多天都遇到了这个问题。因为我正在使用Read More / Less UILabel。由于阅读更多/更少按钮工作正常,但问题是当我单击“阅读更多”按钮时,标签内容从ViewController中消失。我也尝试过使用scrollView但遇到内容相同的问题。我不知道内容的长度,因为我从服务器获取。这是可能的,当点击Read More Button时,Label会根据内容在ViewController上获取空间。

点击“阅读更多/更少”后,下面的READ更多/更少的其他控件保持不变。

目前我正在使用此代码阅读更多/更少

import UIKit

class ExpandedLabelViewController: UIViewController {

@IBOutlet weak var myLabel: UILabel!

var isLabelAtMaxHeight = false

override func viewDidLoad() {
    super.viewDidLoad()
    myLabel.text = ""bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla bla bla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla bla blabla Ahtazaz""

    myLabel.numberOfLines = 2

}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
@IBAction func btnAction(_ sender: Any) {
    if myLabel.numberOfLines == 0 {
        myLabel.numberOfLines = 2
    } else {
        myLabel.numberOfLines = 0
    }
}

}

任何肝脏都将受到高度赞赏。感谢

1 个答案:

答案 0 :(得分:1)

您需要添加ScrollView

@IBOutlet weak var scrollView: UIScrollView!

然后你需要像按钮那样处理滚动视图内容大小:

@IBAction func btnAction(_ sender: Any) {
    {
        if myLabel.numberOfLines == 0 {
            myLabel.numberOfLines = 2
            myLabel.sizeToFit()
            /// height = myLabel.frame.size.height + MyLabel y origin(30)
            scrollView.contentSize = CGSize(width: 0, height: myLabel.frame.size.height + 30)
        } else {
            myLabel.numberOfLines = 0
            myLabel.sizeToFit()
            print(myLabel.frame)
            /// height = myLabel.frame.size.height + MyLabel y origin(30)
            scrollView.contentSize = CGSize(width: 0, height: myLabel.frame.size.height + 30)
        }
    }

我为你添加了一个演示。您可以查看此演示: https://www.dropbox.com/s/eeqf465ecbi8lay/LabelDemo-2.zip?dl=0