ASJExpandableTextView
UITextView 最明显的遗漏是无法设置占位文本。这个类解决这个问题并提供了更多功能。您可以根据内容使文本视图扩展和收缩,并使用键盘上的“完成”按钮来隐藏它。
安装
CocoaPods 是安装此库的首选方式。将以下命令添加到您的 Podfile
pod 'ASJExpandableTextView'使用方法
创建一个 ASJExpandableTextView 非常简单。它有一个简单的界面,包括四个 IBInspectable 属性。这意味着它们可以使用您选择的界面构建器进行设置;xibs或storyboards。
@property (nullable, copy, nonatomic) IBInspectable NSString *placeholder;设置占位符。在文本视图中未输入任何内容时可见。
@property (nullable, strong, nonatomic) IBInspectable UIColor *placeholderTextColor;设置占位文本颜色。仅在占位符可见时有效。
@property (assign, nonatomic) CGFloat lineSpacing;设置文本两行之间的间距。
@property (assign, nonatomic) IBInspectable BOOL isExpandable;设置为使文本视图根据其内容扩展和收缩。
@property (assign, nonatomic) IBInspectable NSUInteger maximumLineCount;您可以为文本视图设置可见的行数。默认为 4。要使用此属性,必须将 isExpandable 设置为 YES。
@property (assign, nonatomic) IBInspectable BOOL shouldShowDoneButtonOverKeyboard;在 UITextView 中,键盘的 "return" 键会换行,与 UITextField 不同,在 UITextField 中会隐藏键盘。将该属性设置为在键盘上方显示一个 "完成" 按钮,该按钮可以隐藏键盘。
@property (assign, nonatomic) BOOL placeholderUsesFullViewHeight;确定占位符视图是覆盖整个文本视图还是像通常一样显示在左上角。详细信息请见 NO。
@property (nullable, copy) DoneTappedBlock doneTappedBlock;您可以使用此代码块来处理键盘隐藏的事件。要使用此属性,必须将 shouldShowDoneButtonOverKeyboard 设置为 YES。
您可以使用界面构建器创建一个,将一个 UITextView 放入其中,并将类改为 ASJExpandableTextView。
致谢
- 感谢 Abhijit Kayande 修复了断断续续的动画。
- 感谢 devxoul 修复了占位符标签的位置。
- 感谢 Daleijn 添加了新的占位符属性。
许可证
ASJExpandableTextView 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。


