Rain-dew / YLTextView

一行代码搞定textView占位符、字数限制、行数限制、自动计算高度— OC和Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YLTextView

一行代码搞定textView的占位符、字数限制、行数限制

OC版本

如何使用? 第一步 把YLTextView文件夹拖入你的项目

#import "UITextView+YLTextView.h"

第二步

  self.view.backgroundColor = [UIColor lightGrayColor];
  
  UITextView *textView = [[UITextView alloc] init];
  textView.frame = CGRectMake(0, 0, 203, 120);
  textView.center = self.view.center;
  textView.font = [UIFont systemFontOfSize:17];
  
//    textView.text = @"我是一段文字,很长很长真的很长";
  textView.placeholder = @"我是一个占位符";
  textView.limitLength = @10;
  textView.placeholdColor = [UIColor redColor];
  textView.limitPlaceColor = [UIColor redColor];
  textView.placeholdFont = [UIFont systemFontOfSize:17];
  textView.limitPlaceFont = [UIFont systemFontOfSize:17];
//    textView.autoHeight = @1;
//    textView.limitLines = @4;//行数限制优先级低于字数限制
  textView.infoBlock = ^(NSString *text, CGSize textViewSize) {
      NSLog(@"当前文字: %@   当前高度:%lf",text,textViewSize.height);
  };
  
  [self.view addSubview:textView];

备注: 如果你发现placeholder的位置出现在中间了,那么你加入下面代吗即可

 if (@available(iOS 11.0, *)) {
        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    } else {
       self.automaticallyAdjustsScrollViewInsets = NO;
    }

Swift版本

YLTextView_SwiftDemo

下载后找到上面文件夹,打开运行项目。

        let textview = UITextView(frame: CGRect(x: 100, y: 100, width: 200, height: 150))
//        textview.text = "如果你想对textView.text直接赋值。请在设置属性之前进行,否则影响计算"
        textview.placeholder = "喜欢请Star"
        textview.limitLength = 20
        textview.placeholdColor = .red
        textview.limitLabelColor = .red
        textview.placeholdFont = UIFont.boldSystemFont(ofSize: 17)
        textview.limitLabelFont = UIFont.boldSystemFont(ofSize: 17)
//        textview.limitLines = 4;
        textview.center = self.view.center
        view.addSubview(textview)

效果

image

About

一行代码搞定textView占位符、字数限制、行数限制、自动计算高度— OC和Swift

License:MIT License


Languages

Language:Objective-C 58.2%Language:Swift 40.7%Language:Ruby 1.1%