我想知道是否有可能在 TextView 中只显示 3 行文本,当您单击阅读更多按钮时,它会扩展到包含超过 3 行文本的整个文本。在没有任何 Pod 或插件的情况下,这在 Swift 中如何实现?
谢谢。
最佳答案
如果您想在不使用另一个第 3 方库的情况下执行此操作,最简单的方法是调整 UITextView 的框架。在我的示例代码中,我的 Storyboard中有一个 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)
}
}
}
关于ios - 如何展开 - 在 Swift 中折叠 UITextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876158/