关闭

iOS开发之UITextView,设置textView的行间距及placeholder

标签: textviewiosswiftuitextview
320人阅读 评论(0) 收藏 举报
分类:

一、设置textView的行间距

1.如果只是静态显示textView的内容为设置的行间距,执行如下代码:

//    textview 改变字体的行间距 
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
    paragraphStyle.lineSpacing = 10;// 字体的行间距 
     
    NSDictionary *attributes = @{ 
                                 NSFontAttributeName:[UIFont systemFontOfSize:15], 
                                 NSParagraphStyleAttributeName:paragraphStyle 
                                 }; 
    textView.attributedText = [[NSAttributedString alloc] initWithString:@"输入你的内容" attributes:attributes];

 

2.如果是想在输入内容的时候就按照设置的行间距进行动态改变,那就需要将上面代码放到textView的delegate方法里

-(void)textViewDidChange:(UITextView *)textView

{

    //    textview 改变字体的行间距

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

    paragraphStyle.lineSpacing = 20;// 字体的行间距

    

    NSDictionary *attributes = @{

                                 NSFontAttributeName:[UIFont systemFontOfSize:15],

                                 NSParagraphStyleAttributeName:paragraphStyle

                                 };

    textView.attributedText = [[NSAttributedString alloc] initWithString:textView.text attributes:attributes];

 

}

 

一、设置textView的placeholder

    UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel或者UITextView,如果用UILable的话,会出现一个问题就是当placeholder的文字过长导致换行的时候就会出现问题,而用UITextView则可以有效避免此问题。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{    if (![text isEqualToString:@""])

        {

            _placeholderLabel.hidden = YES;

        }

     if ([text isEqualToString:@""] && range.location == 0 && range.length == 1)

        {

            _placeholderLabel.hidden = NO;

        }

    return YES;

}

 

说明如下:

  (1) _placeholderLabel 是加在UITextView后面的UITextView,_placeholderLabel要保证和真正的输入框的设置一样,字体设置成浅灰色,然后[_placeholderLabel setEditable:NO];真正的输入框要设置背景色透明,保证能看到底部的_placeholderLabel。

    (2) [text isEqualToString:@""] 表示输入的是退格键

    (3) range.location == 0 && range.length == 1 表示输入的是第一个字符

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

iOS控件TextView添加placeholder属性的两种方法

TextView添加placeholder属性的两种方法
  • sinat_14879371
  • sinat_14879371
  • 2015-09-24 11:43
  • 2832

iOS开发之UITextView,设置textView的行间距及placeholder

一、设置textView的行间距 1.如果只是静态显示textView的内容为设置的行间距,执行如下代码: //    textview 改变字体的行间距      NSMutableParagr...
  • ridxmc
  • ridxmc
  • 2016-06-17 15:08
  • 320

史上最全的iOS之UITextView实现placeHolder占位文字的N种方法

前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。不同的是,UI...
  • pengyuan_D
  • pengyuan_D
  • 2016-08-05 02:59
  • 1005

如何设置Android中TextView的行间距

今天呢,遇到一个很小的问题,就是在写一个textview的时候,有很多中文字符,起初我也没觉得有啥,后来写完才发现,每一行爱的那么近,影响美观啊,这可咋办?让我很是烦恼啊,后来看了TextView的A...
  • u010151514
  • u010151514
  • 2016-05-12 09:50
  • 1155

ios UITextView bug 输入文字跳动bug问题 (・ˍ・*)

ios UITextView 输入中文时文字跳动问题 当输入中文文字多于显示的textview框时,最后一行的文字有时候会因为输入的时候而跳动把最后一行的文字盖住一半,再输入时却又跳起来显示. 这是什...
  • banzhiyao
  • banzhiyao
  • 2014-10-29 19:47
  • 3856

UILabel + UITextView 字间距和行间距

UILabel:创建category .h #import @interface UILabel (JKLableChangeLineSpace) /** * 改变行间距 */ +...
  • wujakf
  • wujakf
  • 2017-05-13 15:03
  • 636

【iOS开发】设置textView的默认提示文字

最近项目中需要用到textView,但是在用的时候才发现原来textView没有类似于textField的那种placeholder功能。 所谓placeholder就比如用户看到一个输入框,然后输入...
  • u011156012
  • u011156012
  • 2014-12-26 16:42
  • 4766

利用KVO实现 UITextView 通过代码方式设置内容后,自动滚动到最后一行

关键代码如下: -(PlaceholderTextView *)holderTextView { if (!_holderTextView) { _hold...
  • ETmanwenhan
  • ETmanwenhan
  • 2016-03-30 15:14
  • 1423

详释(常见UITextView 输入之字数限制)之一---固定长度

UITextView的详细讲解,限制字符长度输入。
  • fengsh998
  • fengsh998
  • 2015-05-02 21:04
  • 26445

UITextView的动态适应高度处理

本文章主要是处理自适应高度的。想到自适应高度,想必大家都知道使用boundingRectWithSize:options:attributes 来计算。嗯确实,这是个利器。其本上能正确返回字体的rec...
  • fengsh998
  • fengsh998
  • 2015-05-02 21:58
  • 21891
    个人资料
    • 访问:257894次
    • 积分:4459
    • 等级:
    • 排名:第7787名
    • 原创:176篇
    • 转载:95篇
    • 译文:0篇
    • 评论:33条
    文章分类
    最新评论