一、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
|