GrowingTextViewHandler 1.0.3

GrowingTextViewHandler 1.0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年6月

hsusmita 维护。



  • Susmita Horrow

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

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

安装

在您的 pod 文件中添加以下行

pod 'GrowingTextViewHandler', '~> 1.0.3'

用法

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

 @interface ViewController ()<UITextViewDelegate>

  @property (weak, nonatomic) IBOutlet UITextView *textView;
  @property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;
  @property (strong, nonatomic) GrowingTextViewHandler *handler;

 @end

 @implementation ViewController

  - (void)viewDidLoad {
    [super viewDidLoad];
    self.handler = [[GrowingTextViewHandler alloc]initWithTextView:self.textView withHeightConstraint:self.heightConstraint];
    [self.handler updateMinimumNumberOfLines:3 andMaximumNumberOfLine:8];
   }

  - (void)textViewDidChange:(UITextView *)textView {
     [self.handler resizeTextViewWithAnimation:YES];
  }
 @end

但是当您以编程方式设置文本时,- (void)textViewDidChange:(UITextView *)textView 并不会调用。对于此情况,您可以如下调整 UITextView 的大小

  [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."
          withAnimation:YES];

屏幕截图