对textView设置placeholder

本文介绍了在iOS应用中如何为UITextView设置占位符文本。由于UITextView本身不支持placeholder属性,文中提供了三种实现方法:通过UILabel配合delegate方法、在drawRect中处理以及使用UITextView的delegate方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UITextView 和 UITextField 的提示信息placeholder

一、UITextFiled和UITextView很像,区别是前一个是只显示一行文本(即使打了回车,可只是显示一行),后一个可显示多行文本。两个的delegate方法也很像.

但是UITextFiled有一个属性placeholder,即文本框的提示信息。而UITextView则没有。一般当点击文本框的时候都需要将默认的提示信息去掉,将光标移动到开始位置。

 

但是对于UITextView则没有placeholder这个属性,可以直接设置textView.text = @"请您输入电话号码". 清除默认的text有几种方法

1.在UITextView上添加一个UILabel,再在-(void)textviewDidChanged:(UITextView*)textView方法中移除掉这个Label,[label  removeFromSuperView];

2.继承UITextView,在drawRect中添加或者删除placeholder:  参考http://stackoverflow.com/questions/1328638/placeholder-in-uitextview

 3.还是使用UITextView的delegate方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- ( BOOL ) textViewShouldBeginEditing:(UITextView *)textView
{
     if (textView.tag == 0) {
         textView.text = @ "" ;
         textView.textColor = [UIColor blackColor];
         textView.tag = 1;
     }
     return  YES ;
}
- ( void )textViewDidChange:(UITextView *)textView
{
    if ([textView.text length] == 0)
    {
        textView.text = @ "Foobar placeholder" ;
        textView.textColor = [UIColor lightGrayColor];
        textView.tag = 0;
    }
}

使用第三种,再viewdidload中就设置placeholder

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值