UiLabel 文本从 ViewController Swift 中传出



因为我是新手,并且被这个问题困了很多天。当我正在使用阅读更多/更少的UILabel时。由于"读取更多/更少"按钮工作正常,但问题是当我单击"阅读更多"按钮时,标签内容从 ViewController 中消失。我也尝试过使用scrollView,但面临内容外出的相同问题。 我不知道内容的长度,因为我是从服务器获取的。这可能吗,当单击"阅读更多"按钮时,标签会在内容的基础上相应地在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
}
}
}

任何肝将不胜感激。谢谢

您需要添加 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

最新更新