GrowingTextViewHandler-Swift 1.2

GrowingTextViewHandler-Swift 1.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018 年 11 月
SPM支持 SPM

hsusmita 维护。



  • Susmita Horrow

GrowingTextViewHandler

一个 NSObject 子类,用于处理用户输入时 UITextView 的自动大小调整。TextView 在行数数量在指定的最小和最大行数之间时会调整大小。以下是从客户端代码中可以设置的公共属性。

  • animationDuration: 默认 0.5
  • maximumNumberOfLines: 默认 INT_MAX
  • minimumNumberOfLines: 默认 1

#安装

在您的 pod 文件中添加以下行用于 Swift 4

pod 'GrowingTextViewHandler-Swift', '1.2'

对于旧版本,使用

pod 'GrowingTextViewHandler-Swift', '1.0.3'

#使用

首先创建一个 GrowingTextViewHandler 的实例。它需要一个 UITextView 和其高度限制作为参数。您可以指定最大和最小行数。然后在 "textViewDidChange" 方法中调用 resizeTextView 方法。

var handler:GrowingTextViewHandler?
@IBOutlet weak var aTextView: UITextView!
@IBOutlet weak var heightConstraint: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
self.handler? = GrowingTextViewHandler(textView: self.aTextView, heightConstraint: heightConstraint)
self.handler?.minimumNumberOfLines = 2
self.handler?.maximumNumberOfLines = 6
}

func textViewDidChange(textView: UITextView) {
self.handler?.resizeTextView(animated:true)
}

然而,当您以编程方式设置文本时,textViewDidChange(textView: UITextView) 不会调用。在这种情况下,您可以按如下方式调整 TextView 的大小

self.handler?.setText("Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", animated: true)

屏幕截图