Ios 如何在Swift中展开-折叠UITextView?
我想知道是否有可能在文本视图中只显示3行文本,当您单击“阅读更多”按钮时,它将扩展到包含3行以上文本的整个文本。在Swift中,没有任何pod或插件,这怎么可能呢Ios 如何在Swift中展开-折叠UITextView?,ios,swift,uitextfield,Ios,Swift,Uitextfield,我想知道是否有可能在文本视图中只显示3行文本,当您单击“阅读更多”按钮时,它将扩展到包含3行以上文本的整个文本。在Swift中,没有任何pod或插件,这怎么可能呢 谢谢。如果您想在不使用第三方库的情况下执行此操作,最简单的方法是调整UITextView的框架。在我的示例代码中,我的故事板中有一个文本视图和一个按钮。按下按钮时,会调用onReadMore。我只是在折叠时使用40作为大小,在展开时使用200作为大小 class ViewController: UIViewController {
谢谢。如果您想在不使用第三方库的情况下执行此操作,最简单的方法是调整UITextView的框架。在我的示例代码中,我的故事板中有一个文本视图和一个按钮。按下按钮时,会调用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)
}
}
}
类ViewController:UIViewController
{
@IBOutlet弱var textView:UITextView!
重写func viewDidLoad()
{
super.viewDidLoad()
设frame=textView.frame
设newRect=CGRectMake(frame.origin.x,frame.origin.y,200,40)
textView.frame=newRect
}
@iAction func onReadMore(发件人:AnyObject)
{
设frame=textView.frame
如果框架高度<180
{
textView.frame=CGRectMake(frame.origin.x,frame.origin.y,200180)
}
其他的
{
textView.frame=CGRectMake(frame.origin.x,frame.origin.y,200,40)
}
}
}
如果您想在不使用第三方库的情况下执行此操作,最简单的方法是调整UITextView的框架。在我的示例代码中,我的故事板中有一个文本视图和一个按钮。按下按钮时,会调用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)
}
}
}
类ViewController:UIViewController
{
@IBOutlet弱var textView:UITextView!
重写func viewDidLoad()
{
super.viewDidLoad()
设frame=textView.frame
设newRect=CGRectMake(frame.origin.x,frame.origin.y,200,40)
textView.frame=newRect
}
@iAction func onReadMore(发件人:AnyObject)
{
设frame=textView.frame
如果框架高度<180
{
textView.frame=CGRectMake(frame.origin.x,frame.origin.y,200180)
}
其他的
{
textView.frame=CGRectMake(frame.origin.x,frame.origin.y,200,40)
}
}
}
这可以帮助您-我不想使用外部库…@Caspert您可以查看库并找出您想要使用的代码…这可以帮助您-我不想使用外部库…@Caspert您可以查看库并找出您想要使用的代码…如果高度未知/动态?您可以使用框架高度作为基准,然后向其添加固定数字。如果扩展高度未知/动态,该怎么办?您可以使用框架高度作为基准,然后向其添加固定数字。