CGMessageTextView
一个 UITextView 子类,它支持根据文本动态调整高度。它还多得了多行占位符,归功于 https://github.com/MoZhouqi/KMPlaceholderTextView。所有代码都是用 Swift 编写的,它使用 AutoLayout。
使用方法
您可以设定以下其中一种值
placeholderText
placeholderTextColor
placeholderFont
placeholderTextAlignment
为了动态改变高度,使用以下其中一个代理
func contentSizeDidChange(withContentSize contentSize: CGSize)
func contentSizeWidthDidChange(withWidth width: CGFloat)
func contentSizeDeltaWidthDidChange(withDelta delta: CGFloat)
func contentSizeHeightDidChange(withHeight height: CGFloat)
func contentSizeDeltaHeightDidChange(withDelta delta: CGFloat)
如果您想了解是否有文本变化,只需使用以下代理
func textDidChange(withText text: String)
代码
初始化
let messageTextView = CGMessageTextView()
messageTextView.messageTextViewDelegate = self
messageTextView.placeholderText = "Write something..."
addSubview(messageTextView)
委托(所有都是可选的)
extension MyClass: CGMessageTextViewDelegate {
func contentSizeDidChange(withContentSize contentSize: CGSize) { }
func contentSizeWidthDidChange(withWidth width: CGFloat) { }
func contentSizeDeltaWidthDidChange(withDelta delta: CGFloat) { }
func contentSizeHeightDidChange(withHeight height: CGFloat) { }
func contentSizeDeltaHeightDidChange(withDelta delta: CGFloat) { }
}
安装
CocoaPods
您可以使用以下命令安装CocoaPods的最新发布版本
$ gem install cocoapods
只需将以下行添加到您的Podfile中
platform :ios, '10.1'
use_frameworks!
target '<Your Target Name>' do
pod 'CGMessageTextView', '~> 0.3.1'
end
然后,运行以下命令
$ pod install
Carthage
Carthage 是一个去中心化的依赖管理器,它自动化了将框架添加到您的 Cocoa 应用程序的过程。
您可以使用以下命令通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 CGMessageTextView 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "cikpis/CGMessageTextView" ~> 0.3.1
要求
- iOS 10.1+
- Xcode 10+
- Swift 4.2+
许可证
CGMessageTextView 使用 MIT 许可证发布。有关详细信息,请参阅 LICENSE。