我想知道是否有可能在文本视图中只显示3行文本,当您单击“阅读更多”按钮时,它将扩展为包含3行以上文本的整个文本。如何在Swift中实现这一点并且没有任何pod或插件?
感谢。
答案 0 :(得分:4)
如果您想在不使用其他第三方库的情况下执行此操作,最简单的方法是调整UITextView的框架。在我的示例代码中,我的故事板中有一个textView和一个Button。按下按钮时调用onReadMore。我只是在折叠时使用40作为大小,在扩展时使用200作为大小。
class ViewController: UIViewController
{
@IBOutlet weak var textView: UITextView!
override func viewDidLoad()
{
super.viewDidLoad()
let frame = textView.frame
let newRect = CGRectMake(frame.origin.x, frame.origin.y, 200, 40)
textView.frame = newRect
}
@IBAction func onReadMore(sender: AnyObject)
{
let frame = textView.frame
if frame.height < 180
{
textView.frame = CGRectMake(frame.origin.x, frame.origin.y, 200, 180)
}
else
{
textView.frame = CGRectMake(frame.origin.x, frame.origin.y, 200, 40)
}
}
}