设置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 表示输入的是第一个字符

时间: 2024-11-25 20:28:39

设置textView的placeholder的相关文章

iOS设置textView的placeholder

在iOS中,一般textfield可以显示一航文字,有placeholder(占位符,用来显示提示信息),textView可以显示多行文字但是却没有placeholder这项,下面的方法可以解决这个问题. @interface PersonSetViewController ()<UITextViewDelegate> //遵从代理协议 - (void)viewDidLoad { [super viewDidLoad]; //放在底部的两个用于显示placeholder的textView,将它

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

一.设置textView的行间距 1.如果只是静态显示textView的内容为设置的行间距,执行如下代码: //    textview 改变字体的行间距     NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];     paragraphStyle.lineSpacing = 10;// 字体的行间距          NSDictionary *attributes = @{  

IOS 控件 - TextView 实现 placeholder 备忘

转载来源:http://blog.sina.com.cn/s/blog_693de6100101cmdw.html 基本思路: 完成按钮:检测到 \n 换行功能就释放键盘. placeholder功能:用一个label写了文字,然后当检测到长度不为0的时候就把label隐藏. 由于输入法有拼音,所以要加多个判断!! adviceMsg为textView. 使用方法: 添加<UITextViewDelegate>协议 设置textView.delegate = self; 添加placehold

【转】Android中设置TextView的颜色setTextColor

原文网址:http://www.cnblogs.com/myphoebe/archive/2012/01/06/2314728.html android中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数. public void setTextColor(int color) { mTextColor = ColorStateList.valueOf(color); updateTextColors(); } public void setTextCo

Android如何设置TextView的行间距、行高。

     Android系统中TextView默认行间距比较窄,不美观.     我们可以设置每行的行间距,可以通过属性android:lineSpacingExtra或android:lineSpacingMultiplier来做. 在你要设置的TextView中加入如下代码: 1.android:lineSpacingExtra 设置行间距,如"8dp". 2.android:lineSpacingMultiplier 设置行间距的倍数,如"1.5″.       示例:

设置TextView下划线并响应点击事件(SpannableString)

写Demo程序的时候能表带自定义的数据结构对象吗? --低级程序猿 前情提要:网上介绍TextView+SpannableString的文章真心太长,真心看不懂. ====原文===== 下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件. TextView useInfo = (TextView) findViewById(R.id.info); String url_0_text = "用户协议及隐私条款&qu

在Java代码上设置TextView字体大小

部分源码: /** * Set the default text size to a given unit and value. See {@link * TypedValue} for the possible dimension units. * * @param unit The desired dimension unit. * @param size The desired size in the given units. * * @attr ref android.R.styleab

Android设置TextView的字体

做项目的时候,需要使用到手写字体来让内容更加的美观.可是程序中默认使用的是系统的默认字体,怎么将TextView(或EditText)的字体设置成自己想要的字体呢?步骤如下: 1.下载字体文件(.ttf格式),比如Jinglei.ttf(方正静蕾的字体文件),然后将其复制到项目工程的assets/fonts目录下. 2.设置TextView的字体: 1 TextView tv = (TextView)findViewById(R.id.my_textview); 2 Typeface typef

通过Spannable对象设置textview的样式

通过Spannable对象我们可以设置textview的各种样式,其功能十分强大.通过SpannableString和它的setSpan(Object what, int start, int end, int flags)便可以对textview设置想要的效果了,这里的what就是效果名,start和end是设置这个样式针对的是textview的字符位置. 1. 简单用法 创建一个spannableString,textview可以通过setText设置这个对象,效果就是textview显示了