iOS 给TextView添加placeholder.

大家都知道textfield中有个属性可以直接设置placeholder,但是textview没有一个这样的属性,要想达到相同的效果只能采用在textview上添加label来实现了.

{

   UITextView * _inputTV;

    UILabel *_placeHolderLabel;

}



- (void)viewDidLoad {


    _inputTV = [[UITextView alloc] initWithFrame:CGRectMake(15, 10, kScreenWidth-30, 130)];

    _inputTV.delegate = self;

    _inputTV.backgroundColor = [UIColor clearColor];

    _inputTV.textColor = [UIColor blackColor];

    [self.view addSubview:_inputTV];

    _inputTV.text = _model.descriptions;

    

    _placeHolderLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 5,, 20)];

    _placeHolderLabel.textAlignment = NSTextAlignmentLeft;

    _placeHolderLabel.font = [UIFont systemFontOfSize:14];

    _placeHolderLabel.text = @"请输入内容";

    [_inputTV addSubview:_placeHolderLabel];

}


- (void)textViewDidChange:(UITextView *)textView

{

    if (textView.text.length == 0 )

    {

        _placeHolderLabel.text = @"请输入内容";

    }

    else

    {

        _placeHolderLabel.text = @"";

    }

}


这样就达到了想要的效果.



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Android开发中,TextView是用于显示文本的一个重要控件。当TextView上的文本超过控件的宽度时,可以通过一些属性和方法来处理这种情况。 一种常见的情况是,当文字长度超过TextView控件宽度时,会以省略号(...)的方式显示。这是通过在TextView中设置"android:ellipsize"属性来实现的。这个属性有几个可选值,其中"end"是最常用的,用于在末尾显示省略号。除了"end"之外,还有"start"(在开头显示省略号)、"middle"(在中间显示省略号)和"marquee"(以跑马灯的方式滚动显示文本)等可选值。 除了设置"android:ellipsize"属性外,还可以通过TextView的setMaxLines()方法来控制TextView最多显示的行数。当超过设置的行数时,同样会显示省略号。 另外,如果需要在代码中动态处理超过字符的情况,可以使用getText()方法获取TextView上的文本,然后通过判断文本的长度来处理。可以使用TextUtils类的ellipsize()方法,传入文本、TextView的宽度和省略号位置等参数,返回一个处理后的文本,再将其设置给TextView即可。 总之,Android中的TextView提供了多种处理超过字符的方式。可以通过设置"android:ellipsize"属性控制省略号的位置,使用setMaxLines()方法控制最大行数,或者通过代码动态处理文本长度,使用TextUtils类的ellipsize()方法来截取文本并添加省略号。这些方法可以根据具体的需求来选择和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值