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 文件。